refactor: Updated all handler tests to use purpose built assertions to improve readability and maintainability

This commit is contained in:
2025-12-09 14:28:47 -07:00
parent d47dadeb88
commit d4bea91186
38 changed files with 801 additions and 751 deletions
@@ -9,18 +9,18 @@ mod tests {
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::app::App;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::event::Key;
use crate::handlers::KeyEventHandler;
use crate::handlers::radarr_handlers::library::add_movie_handler::AddMovieHandler;
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::add_movie_body;
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection_movie;
use crate::handlers::KeyEventHandler;
use crate::models::HorizontallyScrollableText;
use crate::models::radarr_models::{AddMovieSearchResult, MinimumAvailability, MovieMonitor};
use crate::models::servarr_data::radarr::modals::AddMovieModal;
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ADD_MOVIE_BLOCKS};
use crate::models::servarr_data::radarr::radarr_data::{ADD_MOVIE_BLOCKS, ActiveRadarrBlock};
use crate::models::servarr_models::RootFolder;
use crate::models::HorizontallyScrollableText;
use bimap::BiMap;
mod test_handle_scroll_up_and_down {
@@ -28,9 +28,9 @@ mod tests {
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::models::BlockSelectionState;
use crate::models::servarr_data::radarr::modals::AddMovieModal;
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
use crate::models::BlockSelectionState;
use crate::simple_stateful_iterable_vec;
use super::*;
@@ -768,11 +768,11 @@ mod tests {
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{
add_movie_body, add_movie_search_result, collection_movie,
};
use crate::models::BlockSelectionState;
use crate::models::radarr_models::Movie;
use crate::models::servarr_data::radarr::modals::AddMovieModal;
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
use crate::models::stateful_table::StatefulTable;
use crate::models::BlockSelectionState;
use crate::network::radarr_network::RadarrEvent;
use bimap::BiMap;
use pretty_assertions::{assert_eq, assert_str_eq};
@@ -851,33 +851,39 @@ mod tests {
ActiveRadarrBlock::AddMovieSelectRootFolder
);
assert_modal_present!(app.data.radarr_data.add_movie_modal);
assert!(!app
.data
.radarr_data
.add_movie_modal
.as_ref()
.unwrap()
.monitor_list
.items
.is_empty());
assert!(!app
.data
.radarr_data
.add_movie_modal
.as_ref()
.unwrap()
.minimum_availability_list
.items
.is_empty());
assert!(!app
.data
.radarr_data
.add_movie_modal
.as_ref()
.unwrap()
.quality_profile_list
.items
.is_empty());
assert!(
!app
.data
.radarr_data
.add_movie_modal
.as_ref()
.unwrap()
.monitor_list
.items
.is_empty()
);
assert!(
!app
.data
.radarr_data
.add_movie_modal
.as_ref()
.unwrap()
.minimum_availability_list
.items
.is_empty()
);
assert!(
!app
.data
.radarr_data
.add_movie_modal
.as_ref()
.unwrap()
.quality_profile_list
.items
.is_empty()
);
assert_str_eq!(
app
.data
@@ -979,7 +985,7 @@ mod tests {
.handle();
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
assert_none!(app.data.radarr_data.prompt_confirm_action);
}
#[rstest]
@@ -1053,9 +1059,9 @@ mod tests {
.handle();
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
assert_eq!(
app.data.radarr_data.prompt_confirm_action,
Some(RadarrEvent::AddMovie(add_movie_body()))
assert_some_eq_x!(
&app.data.radarr_data.prompt_confirm_action,
&RadarrEvent::AddMovie(add_movie_body())
);
assert_modal_absent!(app.data.radarr_data.add_movie_modal);
}
@@ -1093,7 +1099,7 @@ mod tests {
app,
(selected_block, Some(ActiveRadarrBlock::CollectionDetails)).into()
);
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
assert_none!(app.data.radarr_data.prompt_confirm_action);
if selected_block == ActiveRadarrBlock::AddMovieTagsInput {
assert!(app.ignore_special_keys_for_textbox_input);
@@ -1132,7 +1138,6 @@ mod tests {
}
mod test_handle_esc {
use pretty_assertions::assert_eq;
use rstest::rstest;
use crate::models::servarr_data::radarr::modals::AddMovieModal;
@@ -1162,7 +1167,7 @@ mod tests {
assert!(!app.ignore_special_keys_for_textbox_input);
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
assert_eq!(app.data.radarr_data.add_movie_search, None);
assert_none!(app.data.radarr_data.add_movie_search);
}
#[test]
@@ -1310,7 +1315,6 @@ mod tests {
mod test_handle_key_char {
use bimap::BiMap;
use pretty_assertions::assert_eq;
use rstest::rstest;
use super::*;
@@ -1320,9 +1324,9 @@ mod tests {
add_movie_body, add_movie_search_result, collection_movie,
},
models::{
BlockSelectionState,
servarr_data::radarr::{modals::AddMovieModal, radarr_data::ADD_MOVIE_SELECTION_BLOCKS},
stateful_table::StatefulTable,
BlockSelectionState,
},
network::radarr_network::RadarrEvent,
};
@@ -1490,9 +1494,9 @@ mod tests {
.handle();
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
assert_eq!(
app.data.radarr_data.prompt_confirm_action,
Some(RadarrEvent::AddMovie(add_movie_body()))
assert_some_eq_x!(
&app.data.radarr_data.prompt_confirm_action,
&RadarrEvent::AddMovie(add_movie_body())
);
assert_modal_absent!(app.data.radarr_data.add_movie_modal);
}