From d4bea9118631bd2e91d560da74724e534fc650bd Mon Sep 17 00:00:00 2001 From: Alex Clarke Date: Tue, 9 Dec 2025 14:28:47 -0700 Subject: [PATCH] refactor: Updated all handler tests to use purpose built assertions to improve readability and maintainability --- src/handlers/handlers_tests.rs | 2 +- src/handlers/keybinding_handler_tests.rs | 2 +- .../blocklist/blocklist_handler_tests.rs | 6 +- .../collection_details_handler_tests.rs | 70 +++--- .../collections/collections_handler_tests.rs | 16 +- .../edit_collection_handler_tests.rs | 50 ++-- .../downloads/downloads_handler_tests.rs | 8 +- .../indexers/edit_indexer_handler_tests.rs | 228 +++++++++-------- .../edit_indexer_settings_handler_tests.rs | 63 ++--- .../indexers/indexers_handler_tests.rs | 42 ++-- .../test_all_indexers_handler_tests.rs | 4 +- .../library/add_movie_handler_tests.rs | 94 +++---- .../library/delete_movie_handler_tests.rs | 14 +- .../library/edit_movie_handler_tests.rs | 64 ++--- .../library/library_handler_tests.rs | 32 +-- .../library/movie_details_handler_tests.rs | 22 +- .../radarr_handler_test_utils.rs | 4 +- .../root_folders_handler_tests.rs | 22 +- .../system/system_details_handler_tests.rs | 20 +- .../system/system_handler_tests.rs | 8 +- .../blocklist/blocklist_handler_tests.rs | 20 +- .../downloads/downloads_handler_tests.rs | 21 +- .../history/history_handler_tests.rs | 6 +- .../indexers/edit_indexer_handler_tests.rs | 235 ++++++++++-------- .../edit_indexer_settings_handler_tests.rs | 38 ++- .../indexers/indexers_handler_tests.rs | 41 ++- .../test_all_indexers_handler_tests.rs | 4 +- .../library/add_series_handler_tests.rs | 81 +++--- .../library/delete_series_handler_tests.rs | 14 +- .../library/edit_series_handler_tests.rs | 72 +++--- .../library/episode_details_handler_tests.rs | 51 ++-- .../library/library_handler_tests.rs | 32 +-- .../library/season_details_handler_tests.rs | 45 ++-- .../library/series_details_handler_tests.rs | 37 +-- .../root_folders_handler_tests.rs | 22 +- .../system/system_details_handler_tests.rs | 14 +- .../system/system_handler_tests.rs | 8 +- src/handlers/table_handler_tests.rs | 40 +-- 38 files changed, 801 insertions(+), 751 deletions(-) diff --git a/src/handlers/handlers_tests.rs b/src/handlers/handlers_tests.rs index f41a375..650511c 100644 --- a/src/handlers/handlers_tests.rs +++ b/src/handlers/handlers_tests.rs @@ -33,7 +33,7 @@ mod tests { handle_clear_errors(&mut app); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } #[rstest] diff --git a/src/handlers/keybinding_handler_tests.rs b/src/handlers/keybinding_handler_tests.rs index f5e94eb..49568a7 100644 --- a/src/handlers/keybinding_handler_tests.rs +++ b/src/handlers/keybinding_handler_tests.rs @@ -1,7 +1,7 @@ #[cfg(test)] mod tests { - 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::KeybindingHandler; diff --git a/src/handlers/radarr_handlers/blocklist/blocklist_handler_tests.rs b/src/handlers/radarr_handlers/blocklist/blocklist_handler_tests.rs index bac50b9..af27925 100644 --- a/src/handlers/radarr_handlers/blocklist/blocklist_handler_tests.rs +++ b/src/handlers/radarr_handlers/blocklist/blocklist_handler_tests.rs @@ -7,12 +7,12 @@ 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::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::radarr_handlers::blocklist::{blocklist_sorting_options, BlocklistHandler}; use crate::handlers::KeyEventHandler; + use crate::handlers::radarr_handlers::blocklist::{BlocklistHandler, blocklist_sorting_options}; use crate::models::radarr_models::{BlocklistItem, BlocklistItemMovie}; use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, BLOCKLIST_BLOCKS}; use crate::models::servarr_models::{Language, Quality, QualityWrapper}; @@ -198,7 +198,7 @@ mod tests { BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle(); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveRadarrBlock::Blocklist.into()); } } diff --git a/src/handlers/radarr_handlers/collections/collection_details_handler_tests.rs b/src/handlers/radarr_handlers/collections/collection_details_handler_tests.rs index 5d12e90..2f5bdb8 100644 --- a/src/handlers/radarr_handlers/collections/collection_details_handler_tests.rs +++ b/src/handlers/radarr_handlers/collections/collection_details_handler_tests.rs @@ -4,12 +4,12 @@ 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::assert_modal_absent; use crate::event::Key; - use crate::handlers::radarr_handlers::collections::collection_details_handler::CollectionDetailsHandler; use crate::handlers::KeyEventHandler; + use crate::handlers::radarr_handlers::collections::collection_details_handler::CollectionDetailsHandler; use crate::models::radarr_models::CollectionMovie; use crate::models::servarr_data::radarr::radarr_data::{ ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS, @@ -17,9 +17,9 @@ mod tests { mod test_handle_submit { use crate::assert_navigation_pushed; + use crate::models::BlockSelectionState; use crate::models::radarr_models::Movie; use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use bimap::BiMap; use pretty_assertions::assert_eq; @@ -60,37 +60,43 @@ mod tests { ) .into() ); - 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() + .monitor_list + .items + .is_empty() + ); assert_eq!( app.data.radarr_data.selected_block.get_active_block(), ActiveRadarrBlock::AddMovieSelectRootFolder ); - 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() + .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 @@ -184,7 +190,7 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into()); - assert!(app.data.radarr_data.collection_movies.items.is_empty()); + assert_is_empty!(app.data.radarr_data.collection_movies.items); } #[test] @@ -213,7 +219,7 @@ mod tests { use crate::models::radarr_models::{Collection, MinimumAvailability}; use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data; use crate::models::servarr_data::radarr::radarr_data::{ - RadarrData, EDIT_COLLECTION_SELECTION_BLOCKS, + EDIT_COLLECTION_SELECTION_BLOCKS, RadarrData, }; use crate::test_edit_collection_key; diff --git a/src/handlers/radarr_handlers/collections/collections_handler_tests.rs b/src/handlers/radarr_handlers/collections/collections_handler_tests.rs index 2a0c028..2b15773 100644 --- a/src/handlers/radarr_handlers/collections/collections_handler_tests.rs +++ b/src/handlers/radarr_handlers/collections/collections_handler_tests.rs @@ -7,18 +7,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::assert_modal_absent; use crate::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::radarr_handlers::collections::{ - collections_sorting_options, CollectionsHandler, - }; use crate::handlers::KeyEventHandler; + use crate::handlers::radarr_handlers::collections::{ + CollectionsHandler, collections_sorting_options, + }; use crate::models::radarr_models::{Collection, CollectionMovie}; use crate::models::servarr_data::radarr::radarr_data::{ - ActiveRadarrBlock, COLLECTIONS_BLOCKS, COLLECTION_DETAILS_BLOCKS, EDIT_COLLECTION_BLOCKS, + ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS, COLLECTIONS_BLOCKS, EDIT_COLLECTION_BLOCKS, }; use crate::test_handler_delegation; @@ -189,7 +189,7 @@ mod tests { .handle(); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into()); } } @@ -233,7 +233,7 @@ mod tests { CollectionsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Collections, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -245,7 +245,7 @@ mod tests { use crate::models::radarr_models::MinimumAvailability; use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data; use crate::models::servarr_data::radarr::radarr_data::{ - RadarrData, EDIT_COLLECTION_SELECTION_BLOCKS, + EDIT_COLLECTION_SELECTION_BLOCKS, RadarrData, }; use crate::network::radarr_network::RadarrEvent; use crate::{assert_navigation_popped, test_edit_collection_key}; diff --git a/src/handlers/radarr_handlers/collections/edit_collection_handler_tests.rs b/src/handlers/radarr_handlers/collections/edit_collection_handler_tests.rs index a2d5153..ac355af 100644 --- a/src/handlers/radarr_handlers/collections/edit_collection_handler_tests.rs +++ b/src/handlers/radarr_handlers/collections/edit_collection_handler_tests.rs @@ -5,14 +5,14 @@ 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::assert_modal_absent; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::collections::edit_collection_handler::EditCollectionHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection; - use crate::handlers::KeyEventHandler; use crate::models::radarr_models::{Collection, EditCollectionParams, MinimumAvailability}; use crate::models::servarr_data::radarr::modals::EditCollectionModal; use crate::models::servarr_data::radarr::radarr_data::{ @@ -24,9 +24,9 @@ mod tests { use rstest::rstest; use strum::IntoEnumIterator; + use crate::models::BlockSelectionState; use crate::models::servarr_data::radarr::modals::EditCollectionModal; use crate::models::servarr_data::radarr::radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use super::*; @@ -477,15 +477,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_collection_modal - .as_ref() - .unwrap() - .path - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_collection_modal + .as_ref() + .unwrap() + .path + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditCollectionPrompt.into()); } @@ -512,7 +514,7 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into()); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); } #[test] @@ -602,7 +604,7 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditCollectionPrompt.into() ); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert!(!app.should_refresh); } @@ -627,7 +629,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .radarr_data @@ -635,7 +637,7 @@ mod tests { .as_ref() .unwrap() .monitored, - Some(true) + true ); EditCollectionHandler::new( @@ -647,7 +649,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .radarr_data @@ -655,7 +657,7 @@ mod tests { .as_ref() .unwrap() .monitored, - Some(false) + false ); } @@ -685,7 +687,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .radarr_data @@ -693,7 +695,7 @@ mod tests { .as_ref() .unwrap() .search_on_add, - Some(true) + true ); EditCollectionHandler::new( @@ -705,7 +707,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .radarr_data @@ -713,7 +715,7 @@ mod tests { .as_ref() .unwrap() .search_on_add, - Some(false) + false ); } @@ -750,7 +752,7 @@ mod tests { app, (selected_block, Some(ActiveRadarrBlock::Collections)).into() ); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); if selected_block == ActiveRadarrBlock::EditCollectionRootFolderPathInput { assert!(app.ignore_special_keys_for_textbox_input); @@ -865,10 +867,10 @@ mod tests { use crate::{ assert_navigation_popped, models::{ + BlockSelectionState, servarr_data::radarr::{ modals::EditCollectionModal, radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS, }, - BlockSelectionState, }, network::radarr_network::RadarrEvent, }; diff --git a/src/handlers/radarr_handlers/downloads/downloads_handler_tests.rs b/src/handlers/radarr_handlers/downloads/downloads_handler_tests.rs index 79244f0..afc9805 100644 --- a/src/handlers/radarr_handlers/downloads/downloads_handler_tests.rs +++ b/src/handlers/radarr_handlers/downloads/downloads_handler_tests.rs @@ -4,13 +4,13 @@ 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::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::downloads::DownloadsHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::download_record; - use crate::handlers::KeyEventHandler; use crate::models::radarr_models::DownloadRecord; use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DOWNLOADS_BLOCKS}; @@ -187,7 +187,7 @@ mod tests { DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle(); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert_navigation_popped!(app, base_route.into()); } } @@ -229,7 +229,7 @@ mod tests { DownloadsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Downloads, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Downloads.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } diff --git a/src/handlers/radarr_handlers/indexers/edit_indexer_handler_tests.rs b/src/handlers/radarr_handlers/indexers/edit_indexer_handler_tests.rs index 94e7628..179e7fe 100644 --- a/src/handlers/radarr_handlers/indexers/edit_indexer_handler_tests.rs +++ b/src/handlers/radarr_handlers/indexers/edit_indexer_handler_tests.rs @@ -1,14 +1,14 @@ #[cfg(test)] mod tests { - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_INDEXER_BLOCKS}; use crate::models::servarr_models::EditIndexerParams; @@ -21,9 +21,9 @@ mod tests { use pretty_assertions::assert_eq; use rstest::rstest; + use crate::models::BlockSelectionState; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use super::*; @@ -422,11 +422,11 @@ mod tests { use std::sync::atomic::Ordering; use crate::app::App; + use crate::models::BlockSelectionState; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::radarr::radarr_data::{ EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, }; - use crate::models::BlockSelectionState; use pretty_assertions::assert_eq; use rstest::rstest; @@ -856,7 +856,7 @@ mod tests { use crate::assert_navigation_popped; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::{ - servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, BlockSelectionState, + BlockSelectionState, servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, }; use crate::network::radarr_network::RadarrEvent; @@ -887,9 +887,9 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert!(!app.should_refresh); - assert_eq!(app.data.radarr_data.edit_indexer_modal, None); + assert_none!(app.data.radarr_data.edit_indexer_modal); } #[test] @@ -972,7 +972,7 @@ mod tests { ); assert_modal_present!(app.data.radarr_data.edit_indexer_modal); assert!(!app.should_refresh); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); } #[rstest] @@ -1054,14 +1054,16 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditIndexerPrompt.into() ); - assert!(app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_rss - .unwrap()); + assert!( + app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_rss + .unwrap() + ); EditIndexerHandler::new( SUBMIT_KEY, @@ -1075,14 +1077,16 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditIndexerPrompt.into() ); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_rss - .unwrap()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_rss + .unwrap() + ); } #[test] @@ -1107,14 +1111,16 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditIndexerPrompt.into() ); - assert!(app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_automatic_search - .unwrap()); + assert!( + app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_automatic_search + .unwrap() + ); EditIndexerHandler::new( SUBMIT_KEY, @@ -1128,14 +1134,16 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditIndexerPrompt.into() ); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_automatic_search - .unwrap()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_automatic_search + .unwrap() + ); } #[test] @@ -1160,14 +1168,16 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditIndexerPrompt.into() ); - assert!(app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_interactive_search - .unwrap()); + assert!( + app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_interactive_search + .unwrap() + ); EditIndexerHandler::new( SUBMIT_KEY, @@ -1181,14 +1191,16 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditIndexerPrompt.into() ); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_interactive_search - .unwrap()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_interactive_search + .unwrap() + ); } #[test] @@ -1212,15 +1224,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .name - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .name + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into()); } @@ -1245,15 +1259,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .url - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .url + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into()); } @@ -1278,15 +1294,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .api_key - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .api_key + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into()); } @@ -1311,15 +1329,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .seed_ratio - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .seed_ratio + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into()); } @@ -1344,15 +1364,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .tags - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .tags + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into()); } } @@ -1386,7 +1408,7 @@ mod tests { assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.edit_indexer_modal, None); + assert_none!(app.data.radarr_data.edit_indexer_modal); } #[rstest] @@ -1422,9 +1444,9 @@ mod tests { use super::*; use crate::app::App; use crate::assert_navigation_popped; + use crate::models::BlockSelectionState; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use crate::network::radarr_network::RadarrEvent; use pretty_assertions::{assert_eq, assert_str_eq}; diff --git a/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler_tests.rs b/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler_tests.rs index 5f0f0e1..b9a219e 100644 --- a/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler_tests.rs +++ b/src/handlers/radarr_handlers/indexers/edit_indexer_settings_handler_tests.rs @@ -4,14 +4,14 @@ 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::assert_modal_absent; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer_settings; - use crate::handlers::KeyEventHandler; use crate::models::radarr_models::IndexerSettings; use crate::models::servarr_data::radarr::radarr_data::{ ActiveRadarrBlock, INDEXER_SETTINGS_BLOCKS, @@ -21,9 +21,9 @@ mod tests { use pretty_assertions::assert_eq; use rstest::rstest; + use crate::models::BlockSelectionState; use crate::models::radarr_models::IndexerSettings; use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use super::*; @@ -269,9 +269,9 @@ mod tests { mod test_handle_left_right_action { use std::sync::atomic::Ordering; + use crate::models::BlockSelectionState; use crate::models::radarr_models::IndexerSettings; use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use pretty_assertions::assert_eq; use rstest::rstest; @@ -428,8 +428,8 @@ mod tests { use crate::{ assert_navigation_popped, models::{ - radarr_models::IndexerSettings, - servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState, + BlockSelectionState, radarr_models::IndexerSettings, + servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, }, network::radarr_network::RadarrEvent, }; @@ -461,9 +461,9 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert!(!app.should_refresh); - assert_eq!(app.data.radarr_data.indexer_settings, None); + assert_none!(app.data.radarr_data.indexer_settings); } #[test] @@ -739,15 +739,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .indexer_settings - .as_ref() - .unwrap() - .whitelisted_hardcoded_subs - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .indexer_settings + .as_ref() + .unwrap() + .whitelisted_hardcoded_subs + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); } @@ -774,7 +776,6 @@ mod tests { } mod test_handle_esc { - use pretty_assertions::assert_eq; use rstest::rstest; use crate::models::radarr_models::IndexerSettings; @@ -802,7 +803,7 @@ mod tests { assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.indexer_settings, None); + assert_none!(app.data.radarr_data.indexer_settings); } #[test] @@ -825,9 +826,9 @@ mod tests { assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); assert!(!app.ignore_special_keys_for_textbox_input); - assert_eq!( - app.data.radarr_data.indexer_settings, - Some(IndexerSettings::default()) + assert_some_eq_x!( + &app.data.radarr_data.indexer_settings, + &IndexerSettings::default() ); } @@ -851,21 +852,21 @@ mod tests { IndexerSettingsHandler::new(ESC_KEY, &mut app, active_radarr_block, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); - assert_eq!( - app.data.radarr_data.indexer_settings, - Some(IndexerSettings::default()) + assert_some_eq_x!( + &app.data.radarr_data.indexer_settings, + &IndexerSettings::default() ); } } mod test_handle_key_char { - use pretty_assertions::{assert_eq, assert_str_eq}; + use pretty_assertions::assert_str_eq; use crate::{ assert_navigation_popped, models::{ - radarr_models::IndexerSettings, - servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState, + BlockSelectionState, radarr_models::IndexerSettings, + servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, }, network::radarr_network::RadarrEvent, }; @@ -950,9 +951,9 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::EditAllIndexerSettings(indexer_settings())) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::EditAllIndexerSettings(indexer_settings()) ); assert_modal_absent!(app.data.radarr_data.indexer_settings); assert!(app.should_refresh); diff --git a/src/handlers/radarr_handlers/indexers/indexers_handler_tests.rs b/src/handlers/radarr_handlers/indexers/indexers_handler_tests.rs index 341279f..e25c24c 100644 --- a/src/handlers/radarr_handlers/indexers/indexers_handler_tests.rs +++ b/src/handlers/radarr_handlers/indexers/indexers_handler_tests.rs @@ -4,15 +4,15 @@ 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::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::indexers::IndexersHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::radarr::radarr_data::{ - ActiveRadarrBlock, EDIT_INDEXER_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS, + ActiveRadarrBlock, EDIT_INDEXER_BLOCKS, INDEXER_SETTINGS_BLOCKS, INDEXERS_BLOCKS, }; use crate::models::servarr_models::Indexer; use crate::test_handler_delegation; @@ -125,7 +125,7 @@ mod tests { use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::radarr::radarr_data::{ - RadarrData, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, + EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, RadarrData, }; use crate::models::servarr_models::{Indexer, IndexerField}; use crate::network::radarr_network::RadarrEvent; @@ -192,13 +192,13 @@ mod tests { IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle(); assert_navigation_pushed!(app, ActiveRadarrBlock::EditIndexerPrompt.into()); - assert_eq!( - app.data.radarr_data.edit_indexer_modal, - Some((&app.data.radarr_data).into()) + assert_some_eq_x!( + &app.data.radarr_data.edit_indexer_modal, + &EditIndexerModal::from(&app.data.radarr_data) ); - assert_eq!( - app.data.radarr_data.edit_indexer_modal, - Some(expected_edit_indexer_modal) + assert_some_eq_x!( + &app.data.radarr_data.edit_indexer_modal, + &expected_edit_indexer_modal ); if torrent_protocol { assert_eq!( @@ -227,7 +227,7 @@ mod tests { IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle(); assert_eq!(app.get_current_route(), ActiveRadarrBlock::Indexers.into()); - assert_eq!(app.data.radarr_data.edit_indexer_modal, None); + assert_none!(app.data.radarr_data.edit_indexer_modal); } #[test] @@ -247,9 +247,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::DeleteIndexer(1)) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::DeleteIndexer(1) ); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); } @@ -274,14 +274,12 @@ mod tests { .handle(); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); } } mod test_handle_esc { - use pretty_assertions::assert_eq; - use super::*; use crate::assert_navigation_popped; @@ -318,7 +316,7 @@ mod tests { IndexersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::TestIndexer, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); - assert_eq!(app.data.radarr_data.indexer_test_errors, None); + assert_none!(app.data.radarr_data.indexer_test_errors); } #[rstest] @@ -332,7 +330,7 @@ mod tests { IndexersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -538,9 +536,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::DeleteIndexer(1)) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::DeleteIndexer(1) ); assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into()); } diff --git a/src/handlers/radarr_handlers/indexers/test_all_indexers_handler_tests.rs b/src/handlers/radarr_handlers/indexers/test_all_indexers_handler_tests.rs index 0f4a6b6..367d816 100644 --- a/src/handlers/radarr_handlers/indexers/test_all_indexers_handler_tests.rs +++ b/src/handlers/radarr_handlers/indexers/test_all_indexers_handler_tests.rs @@ -1,9 +1,9 @@ #[cfg(test)] mod tests { - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; - use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::handlers::KeyEventHandler; + use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler; use crate::models::servarr_data::modals::IndexerTestResultModalItem; use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock; use crate::models::stateful_table::StatefulTable; diff --git a/src/handlers/radarr_handlers/library/add_movie_handler_tests.rs b/src/handlers/radarr_handlers/library/add_movie_handler_tests.rs index d4c6540..b61d7ec 100644 --- a/src/handlers/radarr_handlers/library/add_movie_handler_tests.rs +++ b/src/handlers/radarr_handlers/library/add_movie_handler_tests.rs @@ -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); } diff --git a/src/handlers/radarr_handlers/library/delete_movie_handler_tests.rs b/src/handlers/radarr_handlers/library/delete_movie_handler_tests.rs index 8ed4737..ca73c5a 100644 --- a/src/handlers/radarr_handlers/library/delete_movie_handler_tests.rs +++ b/src/handlers/radarr_handlers/library/delete_movie_handler_tests.rs @@ -4,12 +4,12 @@ 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::delete_movie_handler::DeleteMovieHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie; - use crate::handlers::KeyEventHandler; use crate::models::radarr_models::DeleteMovieParams; use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DELETE_MOVIE_BLOCKS}; @@ -17,8 +17,8 @@ mod tests { use pretty_assertions::assert_eq; use rstest::rstest; - use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS; use crate::models::BlockSelectionState; + use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS; use super::*; @@ -83,8 +83,8 @@ mod tests { mod test_handle_submit { use pretty_assertions::assert_eq; - use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS; use crate::models::BlockSelectionState; + use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS; use crate::network::radarr_network::RadarrEvent; use super::*; @@ -115,7 +115,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); assert!(!app.data.radarr_data.prompt_confirm); assert!(!app.data.radarr_data.delete_movie_files); assert!(!app.data.radarr_data.add_list_exclusion); @@ -183,7 +183,7 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::DeleteMoviePrompt.into() ); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert!(!app.should_refresh); assert!(app.data.radarr_data.prompt_confirm); assert!(app.data.radarr_data.delete_movie_files); @@ -257,7 +257,7 @@ mod tests { use crate::{ assert_navigation_popped, models::{ - servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS, BlockSelectionState, + BlockSelectionState, servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS, }, network::radarr_network::RadarrEvent, }; diff --git a/src/handlers/radarr_handlers/library/edit_movie_handler_tests.rs b/src/handlers/radarr_handlers/library/edit_movie_handler_tests.rs index 7a6a706..03bfc52 100644 --- a/src/handlers/radarr_handlers/library/edit_movie_handler_tests.rs +++ b/src/handlers/radarr_handlers/library/edit_movie_handler_tests.rs @@ -5,14 +5,14 @@ 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::assert_modal_absent; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::library::edit_movie_handler::EditMovieHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie; - use crate::handlers::KeyEventHandler; use crate::models::radarr_models::{EditMovieParams, MinimumAvailability, Movie}; use crate::models::servarr_data::radarr::modals::EditMovieModal; use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_MOVIE_BLOCKS}; @@ -22,9 +22,9 @@ mod tests { use rstest::rstest; use strum::IntoEnumIterator; + use crate::models::BlockSelectionState; use crate::models::servarr_data::radarr::modals::EditMovieModal; use crate::models::servarr_data::radarr::radarr_data::EDIT_MOVIE_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use super::*; @@ -568,15 +568,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_movie_modal - .as_ref() - .unwrap() - .path - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_movie_modal + .as_ref() + .unwrap() + .path + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into()); } @@ -600,15 +602,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .radarr_data - .edit_movie_modal - .as_mut() - .unwrap() - .tags - .text - .is_empty()); + assert!( + !app + .data + .radarr_data + .edit_movie_modal + .as_mut() + .unwrap() + .tags + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into()); } @@ -634,7 +638,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); } #[test] @@ -716,7 +720,7 @@ mod tests { app.get_current_route(), ActiveRadarrBlock::EditMoviePrompt.into() ); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert!(!app.should_refresh); } @@ -740,7 +744,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .radarr_data @@ -748,7 +752,7 @@ mod tests { .as_ref() .unwrap() .monitored, - Some(true) + true ); EditMovieHandler::new( @@ -760,7 +764,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .radarr_data @@ -768,7 +772,7 @@ mod tests { .as_ref() .unwrap() .monitored, - Some(false) + false ); } @@ -805,7 +809,7 @@ mod tests { app, (selected_block, Some(ActiveRadarrBlock::Movies)).into() ); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); if selected_block == ActiveRadarrBlock::EditMoviePathInput || selected_block == ActiveRadarrBlock::EditMovieTagsInput @@ -847,7 +851,7 @@ mod tests { ) .into() ); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert!(!app.ignore_special_keys_for_textbox_input); } @@ -954,8 +958,8 @@ mod tests { use crate::{ assert_navigation_popped, models::{ - servarr_data::radarr::{modals::EditMovieModal, radarr_data::EDIT_MOVIE_SELECTION_BLOCKS}, BlockSelectionState, + servarr_data::radarr::{modals::EditMovieModal, radarr_data::EDIT_MOVIE_SELECTION_BLOCKS}, }, network::radarr_network::RadarrEvent, }; diff --git a/src/handlers/radarr_handlers/library/library_handler_tests.rs b/src/handlers/radarr_handlers/library/library_handler_tests.rs index 236c701..5ac7b9a 100644 --- a/src/handlers/radarr_handlers/library/library_handler_tests.rs +++ b/src/handlers/radarr_handlers/library/library_handler_tests.rs @@ -5,18 +5,18 @@ mod tests { use std::cmp::Ordering; use strum::IntoEnumIterator; - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::radarr_handlers::library::{movies_sorting_options, LibraryHandler}; - use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie; use crate::handlers::KeyEventHandler; + use crate::handlers::radarr_handlers::library::{LibraryHandler, movies_sorting_options}; + use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie; use crate::models::radarr_models::Movie; use crate::models::servarr_data::radarr::radarr_data::{ - ActiveRadarrBlock, ADD_MOVIE_BLOCKS, DELETE_MOVIE_BLOCKS, EDIT_MOVIE_BLOCKS, LIBRARY_BLOCKS, + ADD_MOVIE_BLOCKS, ActiveRadarrBlock, DELETE_MOVIE_BLOCKS, EDIT_MOVIE_BLOCKS, LIBRARY_BLOCKS, MOVIE_DETAILS_BLOCKS, }; use crate::models::servarr_models::Language; @@ -207,9 +207,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::UpdateAllMovies) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::UpdateAllMovies ); assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into()); } @@ -234,7 +234,7 @@ mod tests { .handle(); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into()); } } @@ -288,7 +288,7 @@ mod tests { LibraryHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Movies, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -301,7 +301,7 @@ mod tests { use crate::models::radarr_models::MinimumAvailability; use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data; use crate::models::servarr_data::radarr::radarr_data::{ - RadarrData, EDIT_MOVIE_SELECTION_BLOCKS, + EDIT_MOVIE_SELECTION_BLOCKS, RadarrData, }; use crate::network::radarr_network::RadarrEvent; @@ -405,9 +405,9 @@ mod tests { assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into()); assert!(app.data.radarr_data.prompt_confirm); assert!(app.is_routing); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::ToggleMovieMonitoring(0)) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::ToggleMovieMonitoring(0) ); } @@ -539,9 +539,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::UpdateAllMovies) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::UpdateAllMovies ); assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into()); } diff --git a/src/handlers/radarr_handlers/library/movie_details_handler_tests.rs b/src/handlers/radarr_handlers/library/movie_details_handler_tests.rs index eca2523..a5d8077 100644 --- a/src/handlers/radarr_handlers/library/movie_details_handler_tests.rs +++ b/src/handlers/radarr_handlers/library/movie_details_handler_tests.rs @@ -7,16 +7,16 @@ mod tests { use serde_json::Number; use strum::IntoEnumIterator; - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::assert_modal_absent; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::library::movie_details_handler::{ - releases_sorting_options, MovieDetailsHandler, + MovieDetailsHandler, releases_sorting_options, }; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{movie, release}; - use crate::handlers::KeyEventHandler; use crate::models::radarr_models::{Credit, MovieHistoryItem}; use crate::models::radarr_models::{RadarrRelease, RadarrReleaseDownloadBody}; use crate::models::servarr_data::radarr::modals::MovieDetailsModal; @@ -393,9 +393,9 @@ mod tests { assert!(app.data.radarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into()); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &expected_action ); } @@ -420,7 +420,7 @@ mod tests { assert!(!app.data.radarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into()); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); } } @@ -495,7 +495,7 @@ mod tests { use crate::models::servarr_data::radarr::modals::MovieDetailsModal; use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data; use crate::models::servarr_data::radarr::radarr_data::{ - RadarrData, EDIT_MOVIE_SELECTION_BLOCKS, + EDIT_MOVIE_SELECTION_BLOCKS, RadarrData, }; use crate::network::radarr_network::RadarrEvent; use crate::{assert_navigation_popped, test_edit_movie_key}; @@ -808,9 +808,9 @@ mod tests { assert!(app.data.radarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into()); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &expected_action ); } } diff --git a/src/handlers/radarr_handlers/radarr_handler_test_utils.rs b/src/handlers/radarr_handlers/radarr_handler_test_utils.rs index 9b89981..b97b31e 100644 --- a/src/handlers/radarr_handlers/radarr_handler_test_utils.rs +++ b/src/handlers/radarr_handlers/radarr_handler_test_utils.rs @@ -1,6 +1,7 @@ #[cfg(test)] #[macro_use] pub(in crate::handlers::radarr_handlers) mod utils { + use crate::models::HorizontallyScrollableText; use crate::models::radarr_models::{ AddMovieBody, AddMovieOptions, AddMovieSearchResult, Collection, CollectionMovie, DownloadRecord, IndexerSettings, MediaInfo, MinimumAvailability, Movie, MovieCollection, @@ -9,9 +10,8 @@ pub(in crate::handlers::radarr_handlers) mod utils { use crate::models::servarr_models::{ Indexer, IndexerField, Language, Quality, QualityWrapper, RootFolder, }; - use crate::models::HorizontallyScrollableText; use chrono::DateTime; - use serde_json::{json, Number}; + use serde_json::{Number, json}; #[macro_export] macro_rules! test_edit_movie_key { diff --git a/src/handlers/radarr_handlers/root_folders/root_folders_handler_tests.rs b/src/handlers/radarr_handlers/root_folders/root_folders_handler_tests.rs index 7f8da78..a032253 100644 --- a/src/handlers/radarr_handlers/root_folders/root_folders_handler_tests.rs +++ b/src/handlers/radarr_handlers/root_folders/root_folders_handler_tests.rs @@ -4,18 +4,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::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::root_folder; use crate::handlers::radarr_handlers::root_folders::RootFoldersHandler; - use crate::handlers::KeyEventHandler; + use crate::models::HorizontallyScrollableText; use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS}; use crate::models::servarr_models::{AddRootFolderBody, RootFolder}; - use crate::models::HorizontallyScrollableText; mod test_handle_home_end { use pretty_assertions::assert_eq; @@ -332,9 +332,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::DeleteRootFolder(1)) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::DeleteRootFolder(1) ); assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into()); } @@ -359,7 +359,7 @@ mod tests { .handle(); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into()); } } @@ -424,7 +424,7 @@ mod tests { RootFoldersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::RootFolders, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -600,9 +600,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::DeleteRootFolder(1)) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::DeleteRootFolder(1) ); assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into()); } diff --git a/src/handlers/radarr_handlers/system/system_details_handler_tests.rs b/src/handlers/radarr_handlers/system/system_details_handler_tests.rs index 55452c2..a2eed58 100644 --- a/src/handlers/radarr_handlers/system/system_details_handler_tests.rs +++ b/src/handlers/radarr_handlers/system/system_details_handler_tests.rs @@ -4,12 +4,12 @@ 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::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler; use crate::handlers::KeyEventHandler; + use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler; use crate::models::radarr_models::{RadarrTask, RadarrTaskName}; use crate::models::servarr_data::radarr::radarr_data::{ ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS, @@ -693,9 +693,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::StartTask(RadarrTaskName::default())) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::StartTask(RadarrTaskName::default()) ); assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into()); } @@ -716,7 +716,7 @@ mod tests { .handle(); assert!(!app.data.radarr_data.prompt_confirm); - assert_eq!(app.data.radarr_data.prompt_confirm_action, None); + assert_none!(app.data.radarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into()); } } @@ -750,7 +750,7 @@ mod tests { SystemDetailsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::SystemLogs, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::System.into()); - assert!(app.data.radarr_data.log_details.items.is_empty()); + assert_is_empty!(app.data.radarr_data.log_details.items); } #[rstest] @@ -907,9 +907,9 @@ mod tests { .handle(); assert!(app.data.radarr_data.prompt_confirm); - assert_eq!( - app.data.radarr_data.prompt_confirm_action, - Some(RadarrEvent::StartTask(RadarrTaskName::default())) + assert_some_eq_x!( + &app.data.radarr_data.prompt_confirm_action, + &RadarrEvent::StartTask(RadarrTaskName::default()) ); assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into()); } diff --git a/src/handlers/radarr_handlers/system/system_handler_tests.rs b/src/handlers/radarr_handlers/system/system_handler_tests.rs index 2f6ebd0..cd4ab61 100644 --- a/src/handlers/radarr_handlers/system/system_handler_tests.rs +++ b/src/handlers/radarr_handlers/system/system_handler_tests.rs @@ -3,12 +3,12 @@ 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::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::radarr_handlers::system::SystemHandler; use crate::handlers::KeyEventHandler; + use crate::handlers::radarr_handlers::system::SystemHandler; use crate::models::radarr_models::RadarrTask; use crate::models::servarr_data::radarr::radarr_data::{ ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS, @@ -83,7 +83,7 @@ mod tests { SystemHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::System, None).handle(); assert_navigation_popped!(app, ActiveRadarrBlock::System.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -344,7 +344,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), ActiveRadarrBlock::System.into()); - assert!(app.data.radarr_data.log_details.is_empty()); + assert_is_empty!(app.data.radarr_data.log_details); } #[test] diff --git a/src/handlers/sonarr_handlers/blocklist/blocklist_handler_tests.rs b/src/handlers/sonarr_handlers/blocklist/blocklist_handler_tests.rs index 258ea64..2a89195 100644 --- a/src/handlers/sonarr_handlers/blocklist/blocklist_handler_tests.rs +++ b/src/handlers/sonarr_handlers/blocklist/blocklist_handler_tests.rs @@ -7,12 +7,12 @@ 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::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::sonarr_handlers::blocklist::{blocklist_sorting_options, BlocklistHandler}; use crate::handlers::KeyEventHandler; + use crate::handlers::sonarr_handlers::blocklist::{BlocklistHandler, blocklist_sorting_options}; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, BLOCKLIST_BLOCKS}; use crate::models::servarr_models::{Language, Quality, QualityWrapper}; use crate::models::sonarr_models::BlocklistItem; @@ -179,9 +179,9 @@ mod tests { BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); assert_navigation_popped!(app, base_route.into()); } @@ -202,7 +202,7 @@ mod tests { BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle(); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveSonarrBlock::Blocklist.into()); } } @@ -267,7 +267,7 @@ mod tests { BlocklistHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Blocklist, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Blocklist.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -382,9 +382,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); assert_navigation_popped!(app, base_route.into()); } diff --git a/src/handlers/sonarr_handlers/downloads/downloads_handler_tests.rs b/src/handlers/sonarr_handlers/downloads/downloads_handler_tests.rs index 136710f..6792376 100644 --- a/src/handlers/sonarr_handlers/downloads/downloads_handler_tests.rs +++ b/src/handlers/sonarr_handlers/downloads/downloads_handler_tests.rs @@ -4,13 +4,13 @@ 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::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::downloads::DownloadsHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::download_record; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DOWNLOADS_BLOCKS}; use crate::models::sonarr_models::DownloadRecord; @@ -127,7 +127,6 @@ mod tests { } mod test_handle_submit { - use pretty_assertions::assert_eq; use rstest::rstest; use crate::network::sonarr_network::SonarrEvent; @@ -166,9 +165,9 @@ mod tests { DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); assert_navigation_popped!(app, base_route.into()); } @@ -192,7 +191,7 @@ mod tests { DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle(); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert_navigation_popped!(app, base_route.into()); } } @@ -234,7 +233,7 @@ mod tests { DownloadsHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Downloads, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Downloads.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -368,9 +367,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); assert_navigation_popped!(app, base_route.into()); } diff --git a/src/handlers/sonarr_handlers/history/history_handler_tests.rs b/src/handlers/sonarr_handlers/history/history_handler_tests.rs index 7a32daa..c09d406 100644 --- a/src/handlers/sonarr_handlers/history/history_handler_tests.rs +++ b/src/handlers/sonarr_handlers/history/history_handler_tests.rs @@ -7,12 +7,12 @@ 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::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::sonarr_handlers::history::{history_sorting_options, HistoryHandler}; use crate::handlers::KeyEventHandler; + use crate::handlers::sonarr_handlers::history::{HistoryHandler, history_sorting_options}; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS}; use crate::models::servarr_models::{Language, Quality, QualityWrapper}; use crate::models::sonarr_models::{SonarrHistoryEventType, SonarrHistoryItem}; @@ -153,7 +153,7 @@ mod tests { HistoryHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::History, None).handle(); assert_eq!(app.get_current_route(), ActiveSonarrBlock::History.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } diff --git a/src/handlers/sonarr_handlers/indexers/edit_indexer_handler_tests.rs b/src/handlers/sonarr_handlers/indexers/edit_indexer_handler_tests.rs index 7b97969..824ecae 100644 --- a/src/handlers/sonarr_handlers/indexers/edit_indexer_handler_tests.rs +++ b/src/handlers/sonarr_handlers/indexers/edit_indexer_handler_tests.rs @@ -1,14 +1,14 @@ #[cfg(test)] mod tests { - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_INDEXER_BLOCKS}; use crate::models::servarr_models::EditIndexerParams; @@ -21,9 +21,9 @@ mod tests { use pretty_assertions::assert_eq; use rstest::rstest; + use crate::models::BlockSelectionState; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use super::*; @@ -422,11 +422,11 @@ mod tests { use std::sync::atomic::Ordering; use crate::app::App; + use crate::models::BlockSelectionState; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::sonarr::sonarr_data::{ EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, }; - use crate::models::BlockSelectionState; use pretty_assertions::assert_eq; use rstest::rstest; @@ -856,7 +856,7 @@ mod tests { use crate::assert_navigation_popped; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::{ - servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, BlockSelectionState, + BlockSelectionState, servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, }; use crate::network::sonarr_network::SonarrEvent; @@ -887,9 +887,9 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert!(!app.should_refresh); - assert_eq!(app.data.sonarr_data.edit_indexer_modal, None); + assert_none!(app.data.sonarr_data.edit_indexer_modal); } #[test] @@ -972,7 +972,7 @@ mod tests { ); assert_modal_present!(app.data.sonarr_data.edit_indexer_modal); assert!(!app.should_refresh); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); } #[rstest] @@ -1054,14 +1054,16 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::EditIndexerPrompt.into() ); - assert!(app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_rss - .unwrap()); + assert!( + app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_rss + .unwrap() + ); EditIndexerHandler::new( SUBMIT_KEY, @@ -1075,14 +1077,16 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::EditIndexerPrompt.into() ); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_rss - .unwrap()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_rss + .unwrap() + ); } #[test] @@ -1107,14 +1111,16 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::EditIndexerPrompt.into() ); - assert!(app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_automatic_search - .unwrap()); + assert!( + app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_automatic_search + .unwrap() + ); EditIndexerHandler::new( SUBMIT_KEY, @@ -1128,14 +1134,16 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::EditIndexerPrompt.into() ); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_automatic_search - .unwrap()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_automatic_search + .unwrap() + ); } #[test] @@ -1160,14 +1168,16 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::EditIndexerPrompt.into() ); - assert!(app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_interactive_search - .unwrap()); + assert!( + app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_interactive_search + .unwrap() + ); EditIndexerHandler::new( SUBMIT_KEY, @@ -1181,14 +1191,16 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::EditIndexerPrompt.into() ); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .enable_interactive_search - .unwrap()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .enable_interactive_search + .unwrap() + ); } #[test] @@ -1212,15 +1224,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .name - .text - .is_empty()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .name + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into()); } @@ -1245,15 +1259,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .url - .text - .is_empty()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .url + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into()); } @@ -1278,15 +1294,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .api_key - .text - .is_empty()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .api_key + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into()); } @@ -1311,15 +1329,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .seed_ratio - .text - .is_empty()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .seed_ratio + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into()); } @@ -1344,15 +1364,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .sonarr_data - .edit_indexer_modal - .as_ref() - .unwrap() - .tags - .text - .is_empty()); + assert!( + !app + .data + .sonarr_data + .edit_indexer_modal + .as_ref() + .unwrap() + .tags + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into()); } } @@ -1363,7 +1385,6 @@ mod tests { use crate::assert_navigation_popped; use crate::event::Key; use crate::models::servarr_data::modals::EditIndexerModal; - use pretty_assertions::assert_eq; use rstest::rstest; const ESC_KEY: Key = DEFAULT_KEYBINDINGS.esc.key; @@ -1386,7 +1407,7 @@ mod tests { assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.edit_indexer_modal, None); + assert_none!(app.data.sonarr_data.edit_indexer_modal); } #[rstest] @@ -1411,9 +1432,9 @@ mod tests { assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); assert!(!app.ignore_special_keys_for_textbox_input); - assert_eq!( - app.data.sonarr_data.edit_indexer_modal, - Some(EditIndexerModal::default()) + assert_some_eq_x!( + &app.data.sonarr_data.edit_indexer_modal, + &EditIndexerModal::default() ); } } @@ -1422,9 +1443,9 @@ mod tests { use super::*; use crate::app::App; use crate::assert_navigation_popped; + use crate::models::BlockSelectionState; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use crate::network::sonarr_network::SonarrEvent; use pretty_assertions::{assert_eq, assert_str_eq}; diff --git a/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler_tests.rs b/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler_tests.rs index 29eaece..c8464f7 100644 --- a/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler_tests.rs +++ b/src/handlers/sonarr_handlers/indexers/edit_indexer_settings_handler_tests.rs @@ -4,14 +4,14 @@ 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::assert_modal_absent; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer_settings; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::sonarr::sonarr_data::{ ActiveSonarrBlock, INDEXER_SETTINGS_BLOCKS, }; @@ -21,9 +21,9 @@ mod tests { use pretty_assertions::assert_eq; use rstest::rstest; + use crate::models::BlockSelectionState; use crate::models::servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS; use crate::models::sonarr_models::IndexerSettings; - use crate::models::BlockSelectionState; use super::*; @@ -241,8 +241,8 @@ mod tests { use crate::{ assert_navigation_popped, models::{ - servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, - sonarr_models::IndexerSettings, BlockSelectionState, + BlockSelectionState, servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, + sonarr_models::IndexerSettings, }, network::sonarr_network::SonarrEvent, }; @@ -274,9 +274,9 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert!(!app.should_refresh); - assert_eq!(app.data.sonarr_data.indexer_settings, None); + assert_none!(app.data.sonarr_data.indexer_settings); } #[test] @@ -303,9 +303,9 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::EditAllIndexerSettings(indexer_settings())) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::EditAllIndexerSettings(indexer_settings()) ); assert_modal_absent!(app.data.sonarr_data.indexer_settings); assert!(app.should_refresh); @@ -413,7 +413,6 @@ mod tests { } mod test_handle_esc { - use pretty_assertions::assert_eq; use rstest::rstest; use crate::models::sonarr_models::IndexerSettings; @@ -441,7 +440,7 @@ mod tests { assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.indexer_settings, None); + assert_none!(app.data.sonarr_data.indexer_settings); } #[rstest] @@ -462,9 +461,9 @@ mod tests { IndexerSettingsHandler::new(ESC_KEY, &mut app, active_sonarr_block, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); - assert_eq!( - app.data.sonarr_data.indexer_settings, - Some(IndexerSettings::default()) + assert_some_eq_x!( + &app.data.sonarr_data.indexer_settings, + &IndexerSettings::default() ); } } @@ -473,11 +472,10 @@ mod tests { use crate::{ assert_navigation_popped, models::{ - servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState, + BlockSelectionState, servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, }, network::sonarr_network::SonarrEvent, }; - use pretty_assertions::assert_eq; use super::*; @@ -504,9 +502,9 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::EditAllIndexerSettings(indexer_settings())) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::EditAllIndexerSettings(indexer_settings()) ); assert_modal_absent!(app.data.sonarr_data.indexer_settings); assert!(app.should_refresh); diff --git a/src/handlers/sonarr_handlers/indexers/indexers_handler_tests.rs b/src/handlers/sonarr_handlers/indexers/indexers_handler_tests.rs index a4fd5d5..81357dd 100644 --- a/src/handlers/sonarr_handlers/indexers/indexers_handler_tests.rs +++ b/src/handlers/sonarr_handlers/indexers/indexers_handler_tests.rs @@ -4,15 +4,15 @@ 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::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::indexers::IndexersHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::sonarr::sonarr_data::{ - ActiveSonarrBlock, EDIT_INDEXER_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS, + ActiveSonarrBlock, EDIT_INDEXER_BLOCKS, INDEXER_SETTINGS_BLOCKS, INDEXERS_BLOCKS, }; use crate::models::servarr_models::Indexer; use crate::test_handler_delegation; @@ -127,7 +127,7 @@ mod tests { use crate::assert_navigation_popped; use crate::models::servarr_data::modals::EditIndexerModal; use crate::models::servarr_data::sonarr::sonarr_data::{ - SonarrData, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, + EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, SonarrData, }; use crate::models::servarr_models::{Indexer, IndexerField}; use crate::network::sonarr_network::SonarrEvent; @@ -197,13 +197,13 @@ mod tests { IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle(); assert_navigation_pushed!(app, ActiveSonarrBlock::EditIndexerPrompt.into()); - assert_eq!( - app.data.sonarr_data.edit_indexer_modal, - Some((&app.data.sonarr_data).into()) + assert_some_eq_x!( + &app.data.sonarr_data.edit_indexer_modal, + &EditIndexerModal::from(&app.data.sonarr_data) ); - assert_eq!( - app.data.sonarr_data.edit_indexer_modal, - Some(expected_edit_indexer_modal) + assert_some_eq_x!( + &app.data.sonarr_data.edit_indexer_modal, + &expected_edit_indexer_modal ); if torrent_protocol { assert_eq!( @@ -233,7 +233,7 @@ mod tests { IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle(); assert_eq!(app.get_current_route(), ActiveSonarrBlock::Indexers.into()); - assert_eq!(app.data.sonarr_data.edit_indexer_modal, None); + assert_none!(app.data.sonarr_data.edit_indexer_modal); } #[test] @@ -253,9 +253,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DeleteIndexer(1)) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DeleteIndexer(1) ); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); } @@ -280,13 +280,12 @@ mod tests { .handle(); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); } } mod test_handle_esc { - use pretty_assertions::assert_eq; use super::*; use crate::assert_navigation_popped; @@ -324,7 +323,7 @@ mod tests { IndexersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::TestIndexer, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); - assert_eq!(app.data.sonarr_data.indexer_test_errors, None); + assert_none!(app.data.sonarr_data.indexer_test_errors); } #[rstest] @@ -338,7 +337,7 @@ mod tests { IndexersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -552,9 +551,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DeleteIndexer(1)) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DeleteIndexer(1) ); assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into()); } diff --git a/src/handlers/sonarr_handlers/indexers/test_all_indexers_handler_tests.rs b/src/handlers/sonarr_handlers/indexers/test_all_indexers_handler_tests.rs index d184f18..f1972f3 100644 --- a/src/handlers/sonarr_handlers/indexers/test_all_indexers_handler_tests.rs +++ b/src/handlers/sonarr_handlers/indexers/test_all_indexers_handler_tests.rs @@ -1,9 +1,9 @@ #[cfg(test)] mod tests { - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; - use crate::handlers::sonarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::handlers::KeyEventHandler; + use crate::handlers::sonarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler; use crate::models::servarr_data::modals::IndexerTestResultModalItem; use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock; use crate::models::stateful_table::StatefulTable; diff --git a/src/handlers/sonarr_handlers/library/add_series_handler_tests.rs b/src/handlers/sonarr_handlers/library/add_series_handler_tests.rs index 594c13b..e7a783a 100644 --- a/src/handlers/sonarr_handlers/library/add_series_handler_tests.rs +++ b/src/handlers/sonarr_handlers/library/add_series_handler_tests.rs @@ -5,32 +5,32 @@ 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::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::library::add_series_handler::AddSeriesHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::add_series_search_result; - use crate::handlers::KeyEventHandler; + use crate::models::HorizontallyScrollableText; use crate::models::servarr_data::sonarr::modals::AddSeriesModal; - use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ADD_SERIES_BLOCKS}; + use crate::models::servarr_data::sonarr::sonarr_data::{ADD_SERIES_BLOCKS, ActiveSonarrBlock}; use crate::models::servarr_models::RootFolder; use crate::models::sonarr_models::{ AddSeriesBody, AddSeriesOptions, AddSeriesSearchResult, SeriesMonitor, SeriesType, }; use crate::models::stateful_table::StatefulTable; - use crate::models::HorizontallyScrollableText; mod test_handle_scroll_up_and_down { use pretty_assertions::assert_eq; use rstest::rstest; use strum::IntoEnumIterator; + use crate::models::BlockSelectionState; use crate::models::servarr_data::sonarr::modals::AddSeriesModal; use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use crate::simple_stateful_iterable_vec; use super::*; @@ -898,11 +898,11 @@ mod tests { mod test_handle_submit { use crate::assert_navigation_popped; + use crate::models::BlockSelectionState; use crate::models::servarr_data::sonarr::modals::AddSeriesModal; use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS; use crate::models::sonarr_models::Series; use crate::models::stateful_table::StatefulTable; - use crate::models::BlockSelectionState; use crate::network::sonarr_network::SonarrEvent; use bimap::BiMap; use pretty_assertions::{assert_eq, assert_str_eq}; @@ -978,33 +978,39 @@ mod tests { ActiveSonarrBlock::AddSeriesSelectRootFolder ); assert_modal_present!(app.data.sonarr_data.add_series_modal); - assert!(!app - .data - .sonarr_data - .add_series_modal - .as_ref() - .unwrap() - .monitor_list - .items - .is_empty()); - assert!(!app - .data - .sonarr_data - .add_series_modal - .as_ref() - .unwrap() - .series_type_list - .items - .is_empty()); - assert!(!app - .data - .sonarr_data - .add_series_modal - .as_ref() - .unwrap() - .quality_profile_list - .items - .is_empty()); + assert!( + !app + .data + .sonarr_data + .add_series_modal + .as_ref() + .unwrap() + .monitor_list + .items + .is_empty() + ); + assert!( + !app + .data + .sonarr_data + .add_series_modal + .as_ref() + .unwrap() + .series_type_list + .items + .is_empty() + ); + assert!( + !app + .data + .sonarr_data + .add_series_modal + .as_ref() + .unwrap() + .quality_profile_list + .items + .is_empty() + ); assert_str_eq!( app .data @@ -1106,7 +1112,7 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); } #[test] @@ -1222,7 +1228,7 @@ mod tests { .handle(); assert_navigation_pushed!(app, selected_block.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); if selected_block == ActiveSonarrBlock::AddSeriesTagsInput { assert!(app.ignore_special_keys_for_textbox_input); @@ -1311,7 +1317,6 @@ mod tests { } mod test_handle_esc { - use pretty_assertions::assert_eq; use rstest::rstest; use crate::models::servarr_data::sonarr::modals::AddSeriesModal; @@ -1342,7 +1347,7 @@ mod tests { assert!(!app.ignore_special_keys_for_textbox_input); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); - assert_eq!(app.data.sonarr_data.add_series_search, None); + assert_none!(app.data.sonarr_data.add_series_search); } #[test] @@ -1475,8 +1480,8 @@ mod tests { use crate::{ assert_navigation_popped, models::{ - servarr_data::sonarr::{modals::AddSeriesModal, sonarr_data::ADD_SERIES_SELECTION_BLOCKS}, BlockSelectionState, + servarr_data::sonarr::{modals::AddSeriesModal, sonarr_data::ADD_SERIES_SELECTION_BLOCKS}, }, network::sonarr_network::SonarrEvent, }; diff --git a/src/handlers/sonarr_handlers/library/delete_series_handler_tests.rs b/src/handlers/sonarr_handlers/library/delete_series_handler_tests.rs index 81a6acb..50a6520 100644 --- a/src/handlers/sonarr_handlers/library/delete_series_handler_tests.rs +++ b/src/handlers/sonarr_handlers/library/delete_series_handler_tests.rs @@ -4,12 +4,12 @@ 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::sonarr_handlers::library::delete_series_handler::DeleteSeriesHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DELETE_SERIES_BLOCKS}; use crate::models::sonarr_models::DeleteSeriesParams; @@ -17,8 +17,8 @@ mod tests { use pretty_assertions::assert_eq; use rstest::rstest; - use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS; use crate::models::BlockSelectionState; + use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS; use super::*; @@ -86,8 +86,8 @@ mod tests { mod test_handle_submit { use pretty_assertions::assert_eq; - use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS; use crate::models::BlockSelectionState; + use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS; use crate::network::sonarr_network::SonarrEvent; use super::*; @@ -119,7 +119,7 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert!(!app.data.sonarr_data.prompt_confirm); assert!(!app.data.sonarr_data.delete_series_files); assert!(!app.data.sonarr_data.add_list_exclusion); @@ -188,7 +188,7 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::DeleteSeriesPrompt.into() ); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert!(!app.should_refresh); assert!(app.data.sonarr_data.prompt_confirm); assert!(app.data.sonarr_data.delete_series_files); @@ -263,7 +263,7 @@ mod tests { use crate::{ assert_navigation_popped, models::{ - servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS, BlockSelectionState, + BlockSelectionState, servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS, }, network::sonarr_network::SonarrEvent, }; diff --git a/src/handlers/sonarr_handlers/library/edit_series_handler_tests.rs b/src/handlers/sonarr_handlers/library/edit_series_handler_tests.rs index e94a379..6eb48b7 100644 --- a/src/handlers/sonarr_handlers/library/edit_series_handler_tests.rs +++ b/src/handlers/sonarr_handlers/library/edit_series_handler_tests.rs @@ -5,14 +5,14 @@ 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::assert_modal_absent; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::library::edit_series_handler::EditSeriesHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::sonarr::modals::EditSeriesModal; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_SERIES_BLOCKS}; use crate::models::sonarr_models::{EditSeriesParams, Series, SeriesType}; @@ -22,9 +22,9 @@ mod tests { use rstest::rstest; use strum::IntoEnumIterator; + use crate::models::BlockSelectionState; use crate::models::servarr_data::sonarr::modals::EditSeriesModal; use crate::models::servarr_data::sonarr::sonarr_data::EDIT_SERIES_SELECTION_BLOCKS; - use crate::models::BlockSelectionState; use super::*; @@ -698,15 +698,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .sonarr_data - .edit_series_modal - .as_ref() - .unwrap() - .path - .text - .is_empty()); + assert!( + !app + .data + .sonarr_data + .edit_series_modal + .as_ref() + .unwrap() + .path + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into()); } @@ -731,15 +733,17 @@ mod tests { .handle(); assert!(!app.ignore_special_keys_for_textbox_input); - assert!(!app - .data - .sonarr_data - .edit_series_modal - .as_mut() - .unwrap() - .tags - .text - .is_empty()); + assert!( + !app + .data + .sonarr_data + .edit_series_modal + .as_mut() + .unwrap() + .tags + .text + .is_empty() + ); assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into()); } @@ -765,7 +769,7 @@ mod tests { .handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); } #[test] @@ -856,7 +860,7 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::EditSeriesPrompt.into() ); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert!(!app.should_refresh); } @@ -881,7 +885,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .sonarr_data @@ -889,7 +893,7 @@ mod tests { .as_ref() .unwrap() .monitored, - Some(true) + true ); EditSeriesHandler::new( @@ -901,7 +905,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .sonarr_data @@ -909,7 +913,7 @@ mod tests { .as_ref() .unwrap() .monitored, - Some(false) + false ); } @@ -935,7 +939,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .sonarr_data @@ -943,7 +947,7 @@ mod tests { .as_ref() .unwrap() .use_season_folders, - Some(true) + true ); EditSeriesHandler::new( @@ -955,7 +959,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), current_route); - assert_eq!( + assert_some_eq_x!( app .data .sonarr_data @@ -963,7 +967,7 @@ mod tests { .as_ref() .unwrap() .use_season_folders, - Some(false) + false ); } @@ -1002,7 +1006,7 @@ mod tests { app, (selected_block, Some(ActiveSonarrBlock::Series)).into() ); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); if selected_block == ActiveSonarrBlock::EditSeriesPathInput || selected_block == ActiveSonarrBlock::EditSeriesTagsInput @@ -1045,7 +1049,7 @@ mod tests { ) .into() ); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert!(!app.ignore_special_keys_for_textbox_input); } @@ -1158,10 +1162,10 @@ mod tests { use crate::{ assert_navigation_popped, models::{ + BlockSelectionState, servarr_data::sonarr::{ modals::EditSeriesModal, sonarr_data::EDIT_SERIES_SELECTION_BLOCKS, }, - BlockSelectionState, }, network::sonarr_network::SonarrEvent, }; diff --git a/src/handlers/sonarr_handlers/library/episode_details_handler_tests.rs b/src/handlers/sonarr_handlers/library/episode_details_handler_tests.rs index 8cb5161..1de4098 100644 --- a/src/handlers/sonarr_handlers/library/episode_details_handler_tests.rs +++ b/src/handlers/sonarr_handlers/library/episode_details_handler_tests.rs @@ -1,11 +1,11 @@ #[cfg(test)] mod tests { - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::assert_navigation_pushed; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::library::episode_details_handler::EpisodeDetailsHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::episode; - use crate::handlers::KeyEventHandler; use crate::models::servarr_data::sonarr::modals::{EpisodeDetailsModal, SeasonDetailsModal}; use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data; use crate::models::servarr_data::sonarr::sonarr_data::{ @@ -238,9 +238,9 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_pushed!(app, active_sonarr_block.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); } @@ -262,14 +262,14 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { guid: String::new(), indexer_id: 0, episode_id: Some(0), ..SonarrReleaseDownloadBody::default() - })) + }) ); } @@ -290,7 +290,7 @@ mod tests { assert!(!app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::EpisodeDetails.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); } #[test] @@ -400,14 +400,15 @@ mod tests { EpisodeDetailsHandler::new(ESC_KEY, &mut app, active_sonarr_block, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into()); - assert!(app - .data - .sonarr_data - .season_details_modal - .as_ref() - .unwrap() - .episode_details_modal - .is_none()); + assert_none!( + app + .data + .sonarr_data + .season_details_modal + .as_ref() + .unwrap() + .episode_details_modal + ); } } @@ -560,9 +561,9 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, active_sonarr_block.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::TriggerAutomaticEpisodeSearch(1)) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::TriggerAutomaticEpisodeSearch(1) ); } @@ -584,14 +585,14 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { guid: String::new(), indexer_id: 0, episode_id: Some(0), ..SonarrReleaseDownloadBody::default() - })) + }) ); } } diff --git a/src/handlers/sonarr_handlers/library/library_handler_tests.rs b/src/handlers/sonarr_handlers/library/library_handler_tests.rs index 36e5aaf..712168b 100644 --- a/src/handlers/sonarr_handlers/library/library_handler_tests.rs +++ b/src/handlers/sonarr_handlers/library/library_handler_tests.rs @@ -5,17 +5,17 @@ mod tests { use std::cmp::Ordering; use strum::IntoEnumIterator; - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::sonarr_handlers::library::{series_sorting_options, LibraryHandler}; - use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series; use crate::handlers::KeyEventHandler; + use crate::handlers::sonarr_handlers::library::{LibraryHandler, series_sorting_options}; + use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series; use crate::models::servarr_data::sonarr::sonarr_data::{ - ActiveSonarrBlock, ADD_SERIES_BLOCKS, DELETE_SERIES_BLOCKS, EDIT_SERIES_BLOCKS, + ADD_SERIES_BLOCKS, ActiveSonarrBlock, DELETE_SERIES_BLOCKS, EDIT_SERIES_BLOCKS, EPISODE_DETAILS_BLOCKS, LIBRARY_BLOCKS, SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS, }; use crate::models::sonarr_models::{Series, SeriesStatistics, SeriesStatus, SeriesType}; @@ -207,9 +207,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::UpdateAllSeries) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::UpdateAllSeries ); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); } @@ -234,7 +234,7 @@ mod tests { .handle(); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); } } @@ -279,7 +279,7 @@ mod tests { LibraryHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Series, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -288,8 +288,8 @@ mod tests { use serde_json::Number; use strum::IntoEnumIterator; - use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data; use crate::models::servarr_data::sonarr::sonarr_data::SonarrData; + use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data; use crate::models::sonarr_models::SeriesType; use crate::network::sonarr_network::SonarrEvent; @@ -393,9 +393,9 @@ mod tests { assert_eq!(app.get_current_route(), ActiveSonarrBlock::Series.into()); assert!(app.data.sonarr_data.prompt_confirm); assert!(app.is_routing); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::ToggleSeriesMonitoring(0)) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::ToggleSeriesMonitoring(0) ); } @@ -527,9 +527,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::UpdateAllSeries) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::UpdateAllSeries ); assert_navigation_popped!(app, ActiveSonarrBlock::Series.into()); } diff --git a/src/handlers/sonarr_handlers/library/season_details_handler_tests.rs b/src/handlers/sonarr_handlers/library/season_details_handler_tests.rs index f35e15d..c2d54d3 100644 --- a/src/handlers/sonarr_handlers/library/season_details_handler_tests.rs +++ b/src/handlers/sonarr_handlers/library/season_details_handler_tests.rs @@ -290,9 +290,9 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, active_sonarr_block.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); } @@ -314,15 +314,15 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { guid: String::new(), indexer_id: 0, series_id: Some(0), season_number: Some(0), ..SonarrReleaseDownloadBody::default() - })) + }) ); } @@ -344,7 +344,7 @@ mod tests { assert!(!app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); } #[test] @@ -468,7 +468,7 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::SeasonHistory.into() ); - assert!( + assert_none!( app .data .sonarr_data @@ -477,9 +477,8 @@ mod tests { .unwrap() .season_history .filter - .is_none() ); - assert!( + assert_none!( app .data .sonarr_data @@ -488,9 +487,8 @@ mod tests { .unwrap() .season_history .filtered_items - .is_none() ); - assert!( + assert_none!( app .data .sonarr_data @@ -499,7 +497,6 @@ mod tests { .unwrap() .season_history .filtered_state - .is_none() ); } @@ -560,9 +557,9 @@ mod tests { ); assert!(app.data.sonarr_data.prompt_confirm); assert!(app.is_routing); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::ToggleEpisodeMonitoring(1)) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::ToggleEpisodeMonitoring(1) ); } @@ -725,9 +722,9 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, active_sonarr_block.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); } @@ -749,15 +746,15 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody { guid: String::new(), indexer_id: 0, series_id: Some(0), season_number: Some(0), ..SonarrReleaseDownloadBody::default() - })) + }) ); } } diff --git a/src/handlers/sonarr_handlers/library/series_details_handler_tests.rs b/src/handlers/sonarr_handlers/library/series_details_handler_tests.rs index 36342e8..048f512 100644 --- a/src/handlers/sonarr_handlers/library/series_details_handler_tests.rs +++ b/src/handlers/sonarr_handlers/library/series_details_handler_tests.rs @@ -197,9 +197,9 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); } @@ -219,7 +219,7 @@ mod tests { assert!(!app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into()); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); } } @@ -289,17 +289,8 @@ mod tests { app.get_current_route(), ActiveSonarrBlock::SeriesHistory.into() ); - assert!( - app - .data - .sonarr_data - .series_history - .as_ref() - .unwrap() - .filter - .is_none() - ); - assert!( + assert_none!(app.data.sonarr_data.series_history.as_ref().unwrap().filter); + assert_none!( app .data .sonarr_data @@ -307,9 +298,8 @@ mod tests { .as_ref() .unwrap() .filtered_items - .is_none() ); - assert!( + assert_none!( app .data .sonarr_data @@ -317,7 +307,6 @@ mod tests { .as_ref() .unwrap() .filtered_state - .is_none() ); } } @@ -387,9 +376,9 @@ mod tests { ); assert!(app.data.sonarr_data.prompt_confirm); assert!(app.is_routing); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::ToggleSeasonMonitoring((0, 0))) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::ToggleSeasonMonitoring((0, 0)) ); } @@ -581,9 +570,9 @@ mod tests { assert!(app.data.sonarr_data.prompt_confirm); assert_navigation_popped!(app, active_sonarr_block.into()); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(expected_action) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &expected_action ); } } diff --git a/src/handlers/sonarr_handlers/root_folders/root_folders_handler_tests.rs b/src/handlers/sonarr_handlers/root_folders/root_folders_handler_tests.rs index 76651f0..4710f67 100644 --- a/src/handlers/sonarr_handlers/root_folders/root_folders_handler_tests.rs +++ b/src/handlers/sonarr_handlers/root_folders/root_folders_handler_tests.rs @@ -4,18 +4,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::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; + use crate::handlers::KeyEventHandler; use crate::handlers::sonarr_handlers::root_folders::RootFoldersHandler; use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::root_folder; - use crate::handlers::KeyEventHandler; + use crate::models::HorizontallyScrollableText; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ROOT_FOLDERS_BLOCKS}; use crate::models::servarr_models::{AddRootFolderBody, RootFolder}; - use crate::models::HorizontallyScrollableText; mod test_handle_home_end { use crate::models::servarr_models::RootFolder; @@ -341,9 +341,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DeleteRootFolder(1)) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DeleteRootFolder(1) ); assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into()); } @@ -368,7 +368,7 @@ mod tests { .handle(); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into()); } } @@ -433,7 +433,7 @@ mod tests { RootFoldersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::RootFolders, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -612,9 +612,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::DeleteRootFolder(1)) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::DeleteRootFolder(1) ); assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into()); } diff --git a/src/handlers/sonarr_handlers/system/system_details_handler_tests.rs b/src/handlers/sonarr_handlers/system/system_details_handler_tests.rs index 69d4b4b..a7031da 100644 --- a/src/handlers/sonarr_handlers/system/system_details_handler_tests.rs +++ b/src/handlers/sonarr_handlers/system/system_details_handler_tests.rs @@ -4,12 +4,12 @@ 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::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::sonarr_handlers::system::system_details_handler::SystemDetailsHandler; use crate::handlers::KeyEventHandler; + use crate::handlers::sonarr_handlers::system::system_details_handler::SystemDetailsHandler; use crate::models::servarr_data::sonarr::sonarr_data::{ ActiveSonarrBlock, SYSTEM_DETAILS_BLOCKS, }; @@ -711,9 +711,9 @@ mod tests { .handle(); assert!(app.data.sonarr_data.prompt_confirm); - assert_eq!( - app.data.sonarr_data.prompt_confirm_action, - Some(SonarrEvent::StartTask(SonarrTaskName::default())) + assert_some_eq_x!( + &app.data.sonarr_data.prompt_confirm_action, + &SonarrEvent::StartTask(SonarrTaskName::default()) ); assert_navigation_popped!(app, ActiveSonarrBlock::SystemTasks.into()); } @@ -734,7 +734,7 @@ mod tests { .handle(); assert!(!app.data.sonarr_data.prompt_confirm); - assert_eq!(app.data.sonarr_data.prompt_confirm_action, None); + assert_none!(app.data.sonarr_data.prompt_confirm_action); assert_navigation_popped!(app, ActiveSonarrBlock::SystemTasks.into()); } } @@ -768,7 +768,7 @@ mod tests { SystemDetailsHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::SystemLogs, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::System.into()); - assert!(app.data.sonarr_data.log_details.items.is_empty()); + assert_is_empty!(app.data.sonarr_data.log_details.items); } #[rstest] diff --git a/src/handlers/sonarr_handlers/system/system_handler_tests.rs b/src/handlers/sonarr_handlers/system/system_handler_tests.rs index bef3388..d9903f6 100644 --- a/src/handlers/sonarr_handlers/system/system_handler_tests.rs +++ b/src/handlers/sonarr_handlers/system/system_handler_tests.rs @@ -3,12 +3,12 @@ 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::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::sonarr_handlers::system::SystemHandler; use crate::handlers::KeyEventHandler; + use crate::handlers::sonarr_handlers::system::SystemHandler; use crate::models::servarr_data::sonarr::sonarr_data::{ ActiveSonarrBlock, SYSTEM_DETAILS_BLOCKS, }; @@ -85,7 +85,7 @@ mod tests { SystemHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::System, None).handle(); assert_navigation_popped!(app, ActiveSonarrBlock::System.into()); - assert!(app.error.text.is_empty()); + assert_is_empty!(app.error.text); } } @@ -349,7 +349,7 @@ mod tests { .handle(); assert_eq!(app.get_current_route(), ActiveSonarrBlock::System.into()); - assert!(app.data.sonarr_data.log_details.is_empty()); + assert_is_empty!(app.data.sonarr_data.log_details); } #[test] diff --git a/src/handlers/table_handler_tests.rs b/src/handlers/table_handler_tests.rs index e070113..4e5b9ab 100644 --- a/src/handlers/table_handler_tests.rs +++ b/src/handlers/table_handler_tests.rs @@ -1,14 +1,14 @@ #[cfg(test)] mod tests { - use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::App; + use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::assert_modal_absent; use crate::assert_modal_present; use crate::assert_navigation_pushed; use crate::event::Key; - use crate::handlers::table_handler::handle_table; - use crate::handlers::table_handler::TableHandlingConfig; use crate::handlers::KeyEventHandler; + use crate::handlers::table_handler::TableHandlingConfig; + use crate::handlers::table_handler::handle_table; use crate::models::radarr_models::Movie; use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock; use crate::models::servarr_models::Language; @@ -936,7 +936,7 @@ mod tests { assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into()); assert!(!app.ignore_special_keys_for_textbox_input); - assert_eq!(app.data.radarr_data.movies.search, None); + assert_none!(app.data.radarr_data.movies.search); } #[rstest] @@ -965,9 +965,9 @@ mod tests { assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into()); assert!(!app.ignore_special_keys_for_textbox_input); - assert_eq!(app.data.radarr_data.movies.filter, None); - assert_eq!(app.data.radarr_data.movies.filtered_items, None); - assert_eq!(app.data.radarr_data.movies.filtered_state, None); + assert_none!(app.data.radarr_data.movies.filter); + assert_none!(app.data.radarr_data.movies.filtered_items); + assert_none!(app.data.radarr_data.movies.filtered_state); } #[test] @@ -1001,15 +1001,15 @@ mod tests { TableHandlerUnit::new(ESC_KEY, &mut app, ActiveRadarrBlock::Movies, None).handle(); assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into()); - assert_eq!(app.data.radarr_data.movies.filter, None); - assert_eq!(app.data.radarr_data.movies.filtered_items, None); - assert_eq!(app.data.radarr_data.movies.filtered_state, None); + assert_none!(app.data.radarr_data.movies.filter); + assert_none!(app.data.radarr_data.movies.filtered_items); + assert_none!(app.data.radarr_data.movies.filtered_state); } } mod test_handle_key_char { - use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data; use crate::models::HorizontallyScrollableText; + use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data; use pretty_assertions::{assert_eq, assert_str_eq}; use super::*; @@ -1033,9 +1033,9 @@ mod tests { assert_navigation_pushed!(app, ActiveRadarrBlock::SearchMovie.into()); assert!(app.ignore_special_keys_for_textbox_input); - assert_eq!( - app.data.radarr_data.movies.search, - Some(HorizontallyScrollableText::default()) + assert_some_eq_x!( + &app.data.radarr_data.movies.search, + &HorizontallyScrollableText::default() ); } @@ -1060,7 +1060,7 @@ mod tests { assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into()); assert!(!app.ignore_special_keys_for_textbox_input); - assert_eq!(app.data.radarr_data.movies.search, None); + assert_none!(app.data.radarr_data.movies.search); } #[test] @@ -1082,7 +1082,7 @@ mod tests { assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into()); assert!(!app.ignore_special_keys_for_textbox_input); - assert_eq!(app.data.radarr_data.movies.search, None); + assert_none!(app.data.radarr_data.movies.search); } #[test] @@ -1154,9 +1154,9 @@ mod tests { assert_navigation_pushed!(app, ActiveRadarrBlock::FilterMovies.into()); assert!(app.ignore_special_keys_for_textbox_input); - assert_eq!( - app.data.radarr_data.movies.filter, - Some(HorizontallyScrollableText::default()) + assert_some_eq_x!( + &app.data.radarr_data.movies.filter, + &HorizontallyScrollableText::default() ); assert_modal_absent!(app.data.radarr_data.movies.filtered_items); assert_modal_absent!(app.data.radarr_data.movies.filtered_state); @@ -1181,7 +1181,7 @@ mod tests { assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into()); assert!(!app.ignore_special_keys_for_textbox_input); - assert_eq!(app.data.radarr_data.movies.filter, None); + assert_none!(app.data.radarr_data.movies.filter); } #[test]