diff --git a/src/app/mod.rs b/src/app/mod.rs index 04295ce..5a04ac4 100644 --- a/src/app/mod.rs +++ b/src/app/mod.rs @@ -30,11 +30,11 @@ use { crate::models::servarr_data::radarr::modals::{ EditCollectionModal, EditMovieModal, MovieDetailsModal, }, + crate::models::stateful_table::SortOption, crate::network::radarr_network::radarr_network_test_utils::test_utils::*, chrono::DateTime, - strum::IntoEnumIterator, std::fmt::Debug, - crate::models::stateful_table::SortOption + strum::IntoEnumIterator, }; #[cfg(test)] @@ -50,9 +50,9 @@ macro_rules! sort_option { ($field:ident) => { SortOption { name: "Something", - cmp_fn: Some(|a, b| a.$field.cmp(&b.$field)) + cmp_fn: Some(|a, b| a.$field.cmp(&b.$field)), } - } + }; } pub struct App<'a> { @@ -386,7 +386,9 @@ impl App<'_> { movie_details_modal .movie_releases .set_items(vec![torrent_release(), usenet_release()]); - movie_details_modal.movie_releases.sorting(vec![sort_option!(indexer_id)]); + movie_details_modal + .movie_releases + .sorting(vec![sort_option!(indexer_id)]); let mut radarr_data = RadarrData { disk_space_vec: vec![diskspace()], @@ -418,7 +420,9 @@ impl App<'_> { radarr_data.collections.sorting(vec![sort_option!(id)]); radarr_data.collections.search = Some("Something".into()); radarr_data.collections.filter = Some("Something".into()); - radarr_data.collection_movies.set_items(vec![collection_movie()]); + radarr_data + .collection_movies + .set_items(vec![collection_movie()]); radarr_data.downloads.set_items(vec![download_record()]); radarr_data.blocklist.set_items(vec![blocklist_item()]); radarr_data.blocklist.sorting(vec![sort_option!(id)]); diff --git a/src/network/radarr_network/radarr_network_test_utils.rs b/src/network/radarr_network/radarr_network_test_utils.rs index 8fd4893..c8f26af 100644 --- a/src/network/radarr_network/radarr_network_test_utils.rs +++ b/src/network/radarr_network/radarr_network_test_utils.rs @@ -162,9 +162,7 @@ pub mod test_utils { } pub fn percentage_rating() -> Rating { - Rating { - value: 99.into(), - } + Rating { value: 99.into() } } pub fn ratings_list() -> RatingsList { diff --git a/src/ui/radarr_ui/blocklist/blocklist_ui_tests.rs b/src/ui/radarr_ui/blocklist/blocklist_ui_tests.rs index 9e36ee9..553a4a5 100644 --- a/src/ui/radarr_ui/blocklist/blocklist_ui_tests.rs +++ b/src/ui/radarr_ui/blocklist/blocklist_ui_tests.rs @@ -20,8 +20,8 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; use crate::ui::ui_test_utils::test_utils::TerminalSize; + use rstest::rstest; use super::*; @@ -53,11 +53,12 @@ mod tests { #[rstest] fn test_blocklist_ui_renders_blocklist_tab( #[values( - ActiveRadarrBlock::Blocklist, - ActiveRadarrBlock::BlocklistSortPrompt, - ActiveRadarrBlock::DeleteBlocklistItemPrompt, - ActiveRadarrBlock::BlocklistClearAllItemsPrompt, - )] active_radarr_block: ActiveRadarrBlock + ActiveRadarrBlock::Blocklist, + ActiveRadarrBlock::BlocklistSortPrompt, + ActiveRadarrBlock::DeleteBlocklistItemPrompt, + ActiveRadarrBlock::BlocklistClearAllItemsPrompt + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); diff --git a/src/ui/radarr_ui/collections/collection_details_ui_tests.rs b/src/ui/radarr_ui/collections/collection_details_ui_tests.rs index 0950701..9a78c2f 100644 --- a/src/ui/radarr_ui/collections/collection_details_ui_tests.rs +++ b/src/ui/radarr_ui/collections/collection_details_ui_tests.rs @@ -37,16 +37,17 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; - use crate::models::stateful_table::StatefulTable; use super::*; + use crate::models::stateful_table::StatefulTable; + use rstest::rstest; #[rstest] fn test_collection_details_ui_renders_collection_details( #[values( - ActiveRadarrBlock::CollectionDetails, - ActiveRadarrBlock::ViewMovieOverview - )] active_radarr_block: ActiveRadarrBlock + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::ViewMovieOverview + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); @@ -71,4 +72,4 @@ mod tests { insta::assert_snapshot!(output); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/collections/collections_ui_tests.rs b/src/ui/radarr_ui/collections/collections_ui_tests.rs index fde4733..ba8caa7 100644 --- a/src/ui/radarr_ui/collections/collections_ui_tests.rs +++ b/src/ui/radarr_ui/collections/collections_ui_tests.rs @@ -30,9 +30,9 @@ mod tests { mod snapshot_tests { use super::*; - use rstest::rstest; use crate::models::BlockSelectionState; use crate::models::servarr_data::radarr::radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS; + use rstest::rstest; #[rstest] #[case(true, false, false)] @@ -70,8 +70,10 @@ mod tests { ActiveRadarrBlock::FilterCollectionsError, ActiveRadarrBlock::SearchCollection, ActiveRadarrBlock::SearchCollectionError, - ActiveRadarrBlock::UpdateAllCollectionsPrompt, - )] active_radarr_block: ActiveRadarrBlock) { + ActiveRadarrBlock::UpdateAllCollectionsPrompt + )] + active_radarr_block: ActiveRadarrBlock, + ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); @@ -96,13 +98,34 @@ mod tests { } #[rstest] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionPrompt)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionConfirmPrompt)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionRootFolderPathInput)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionSelectMinimumAvailability)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionSelectQualityProfile)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionToggleSearchOnAdd)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionToggleMonitored)] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionPrompt + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionConfirmPrompt + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionRootFolderPathInput + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionSelectMinimumAvailability + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionSelectQualityProfile + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionToggleSearchOnAdd + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionToggleMonitored + )] fn test_edit_collection_ui_renders_edit_collection_modal( #[case] context_block: ActiveRadarrBlock, #[case] active_radarr_block: ActiveRadarrBlock, @@ -116,7 +139,14 @@ mod tests { CollectionsUi::draw(f, app, f.area()); }); - insta::assert_snapshot!(format!("{}_{}", active_radarr_block.to_string(), context_block.to_string()), output); + insta::assert_snapshot!( + format!( + "{}_{}", + active_radarr_block.to_string(), + context_block.to_string() + ), + output + ); } } } diff --git a/src/ui/radarr_ui/collections/edit_collection_ui_tests.rs b/src/ui/radarr_ui/collections/edit_collection_ui_tests.rs index 65a7eb8..d4f94f5 100644 --- a/src/ui/radarr_ui/collections/edit_collection_ui_tests.rs +++ b/src/ui/radarr_ui/collections/edit_collection_ui_tests.rs @@ -31,24 +31,66 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; use super::*; + use rstest::rstest; #[rstest] - #[case(ActiveRadarrBlock::Collections, ActiveRadarrBlock::EditCollectionPrompt)] - #[case(ActiveRadarrBlock::Collections, ActiveRadarrBlock::EditCollectionConfirmPrompt)] - #[case(ActiveRadarrBlock::Collections, ActiveRadarrBlock::EditCollectionRootFolderPathInput)] - #[case(ActiveRadarrBlock::Collections, ActiveRadarrBlock::EditCollectionSelectMinimumAvailability)] - #[case(ActiveRadarrBlock::Collections, ActiveRadarrBlock::EditCollectionSelectQualityProfile)] - #[case(ActiveRadarrBlock::Collections, ActiveRadarrBlock::EditCollectionToggleSearchOnAdd)] - #[case(ActiveRadarrBlock::Collections, ActiveRadarrBlock::EditCollectionToggleMonitored)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionPrompt)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionConfirmPrompt)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionRootFolderPathInput)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionSelectMinimumAvailability)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionSelectQualityProfile)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionToggleSearchOnAdd)] - #[case(ActiveRadarrBlock::CollectionDetails, ActiveRadarrBlock::EditCollectionToggleMonitored)] + #[case( + ActiveRadarrBlock::Collections, + ActiveRadarrBlock::EditCollectionPrompt + )] + #[case( + ActiveRadarrBlock::Collections, + ActiveRadarrBlock::EditCollectionConfirmPrompt + )] + #[case( + ActiveRadarrBlock::Collections, + ActiveRadarrBlock::EditCollectionRootFolderPathInput + )] + #[case( + ActiveRadarrBlock::Collections, + ActiveRadarrBlock::EditCollectionSelectMinimumAvailability + )] + #[case( + ActiveRadarrBlock::Collections, + ActiveRadarrBlock::EditCollectionSelectQualityProfile + )] + #[case( + ActiveRadarrBlock::Collections, + ActiveRadarrBlock::EditCollectionToggleSearchOnAdd + )] + #[case( + ActiveRadarrBlock::Collections, + ActiveRadarrBlock::EditCollectionToggleMonitored + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionPrompt + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionConfirmPrompt + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionRootFolderPathInput + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionSelectMinimumAvailability + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionSelectQualityProfile + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionToggleSearchOnAdd + )] + #[case( + ActiveRadarrBlock::CollectionDetails, + ActiveRadarrBlock::EditCollectionToggleMonitored + )] fn test_edit_collection_ui_renders_edit_collection_modal( #[case] active_radarr_block: ActiveRadarrBlock, #[case] context_block: ActiveRadarrBlock, @@ -62,7 +104,14 @@ mod tests { EditCollectionUi::draw(f, app, f.area()); }); - insta::assert_snapshot!(format!("{}_{}", active_radarr_block.to_string(), context_block.to_string()), output); + insta::assert_snapshot!( + format!( + "{}_{}", + active_radarr_block.to_string(), + context_block.to_string() + ), + output + ); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/collections/mod.rs b/src/ui/radarr_ui/collections/mod.rs index db16492..8cb7539 100644 --- a/src/ui/radarr_ui/collections/mod.rs +++ b/src/ui/radarr_ui/collections/mod.rs @@ -98,7 +98,7 @@ pub(super) fn draw_collections(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) Cell::from(search_on_add), Cell::from(monitored), ]) - .primary() + .primary() }; let collections_table = ManagarrTable::new(content, collection_row_mapping) .loading( @@ -137,7 +137,7 @@ pub(super) fn draw_collections(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) ActiveRadarrBlock::SearchCollection, ActiveRadarrBlock::FilterCollections, ] - .contains(&active_radarr_block) + .contains(&active_radarr_block) { collections_table.show_cursor(f, area); } diff --git a/src/ui/radarr_ui/downloads/downloads_ui_tests.rs b/src/ui/radarr_ui/downloads/downloads_ui_tests.rs index 33f39ea..8e27e63 100644 --- a/src/ui/radarr_ui/downloads/downloads_ui_tests.rs +++ b/src/ui/radarr_ui/downloads/downloads_ui_tests.rs @@ -20,8 +20,8 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; use super::*; + use rstest::rstest; #[test] fn test_radarr_ui_renders_downloads_tab_loading() { @@ -41,8 +41,9 @@ mod tests { #[values( ActiveRadarrBlock::Downloads, ActiveRadarrBlock::DeleteDownloadPrompt, - ActiveRadarrBlock::UpdateDownloadsPrompt, - )] active_radarr_block: ActiveRadarrBlock + ActiveRadarrBlock::UpdateDownloadsPrompt + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); diff --git a/src/ui/radarr_ui/indexers/edit_indexer_ui_tests.rs b/src/ui/radarr_ui/indexers/edit_indexer_ui_tests.rs index cc0b7b6..cec9ae6 100644 --- a/src/ui/radarr_ui/indexers/edit_indexer_ui_tests.rs +++ b/src/ui/radarr_ui/indexers/edit_indexer_ui_tests.rs @@ -7,7 +7,7 @@ mod tests { use crate::models::servarr_data::radarr::radarr_data::{ ActiveRadarrBlock, EDIT_INDEXER_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, }; - use crate::models::servarr_models::{Indexer}; + use crate::models::servarr_models::Indexer; use crate::ui::DrawUi; use crate::ui::radarr_ui::indexers::edit_indexer_ui::EditIndexerUi; use crate::ui::ui_test_utils::test_utils::{TerminalSize, render_to_string_with_app}; @@ -24,9 +24,9 @@ mod tests { } mod snapshot_tests { + use super::*; use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_NZB_SELECTION_BLOCKS; use crate::network::radarr_network::radarr_network_test_utils::test_utils::indexer; - use super::*; #[test] fn test_edit_indexer_ui_renders_edit_indexer_modal_torrent() { @@ -60,4 +60,4 @@ mod tests { insta::assert_snapshot!(output); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/indexers/indexer_settings_ui_tests.rs b/src/ui/radarr_ui/indexers/indexer_settings_ui_tests.rs index b85ef67..f260225 100644 --- a/src/ui/radarr_ui/indexers/indexer_settings_ui_tests.rs +++ b/src/ui/radarr_ui/indexers/indexer_settings_ui_tests.rs @@ -29,7 +29,8 @@ mod tests { fn test_indexer_settings_ui_renders_indexer_settings() { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(ActiveRadarrBlock::IndexerSettingsMinimumAgeInput.into()); - app.data.radarr_data.selected_block = BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); + app.data.radarr_data.selected_block = + BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { IndexerSettingsUi::draw(f, app, f.area()); @@ -38,4 +39,4 @@ mod tests { insta::assert_snapshot!(output); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/indexers/indexers_ui_tests.rs b/src/ui/radarr_ui/indexers/indexers_ui_tests.rs index 46595ae..19193d3 100644 --- a/src/ui/radarr_ui/indexers/indexers_ui_tests.rs +++ b/src/ui/radarr_ui/indexers/indexers_ui_tests.rs @@ -121,4 +121,4 @@ mod tests { insta::assert_snapshot!(output); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/library/add_movie_ui_tests.rs b/src/ui/radarr_ui/library/add_movie_ui_tests.rs index 4148797..749bd2e 100644 --- a/src/ui/radarr_ui/library/add_movie_ui_tests.rs +++ b/src/ui/radarr_ui/library/add_movie_ui_tests.rs @@ -20,10 +20,10 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; + use super::*; use crate::models::BlockSelectionState; use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS; - use super::*; + use rstest::rstest; #[test] fn test_add_movie_ui_renders_loading_for_search() { @@ -49,15 +49,33 @@ mod tests { #[case(ActiveRadarrBlock::AddMovieSelectRootFolder, None)] #[case(ActiveRadarrBlock::AddMovieAlreadyInLibrary, None)] #[case(ActiveRadarrBlock::AddMovieTagsInput, None)] - #[case(ActiveRadarrBlock::AddMoviePrompt, Some(ActiveRadarrBlock::CollectionDetails))] - #[case(ActiveRadarrBlock::AddMovieSelectMinimumAvailability, Some(ActiveRadarrBlock::CollectionDetails))] - #[case(ActiveRadarrBlock::AddMovieSelectMonitor, Some(ActiveRadarrBlock::CollectionDetails))] - #[case(ActiveRadarrBlock::AddMovieSelectQualityProfile, Some(ActiveRadarrBlock::CollectionDetails))] - #[case(ActiveRadarrBlock::AddMovieSelectRootFolder, Some(ActiveRadarrBlock::CollectionDetails))] - #[case(ActiveRadarrBlock::AddMovieTagsInput, Some(ActiveRadarrBlock::CollectionDetails))] + #[case( + ActiveRadarrBlock::AddMoviePrompt, + Some(ActiveRadarrBlock::CollectionDetails) + )] + #[case( + ActiveRadarrBlock::AddMovieSelectMinimumAvailability, + Some(ActiveRadarrBlock::CollectionDetails) + )] + #[case( + ActiveRadarrBlock::AddMovieSelectMonitor, + Some(ActiveRadarrBlock::CollectionDetails) + )] + #[case( + ActiveRadarrBlock::AddMovieSelectQualityProfile, + Some(ActiveRadarrBlock::CollectionDetails) + )] + #[case( + ActiveRadarrBlock::AddMovieSelectRootFolder, + Some(ActiveRadarrBlock::CollectionDetails) + )] + #[case( + ActiveRadarrBlock::AddMovieTagsInput, + Some(ActiveRadarrBlock::CollectionDetails) + )] fn test_add_movie_ui_renders( #[case] active_radarr_block: ActiveRadarrBlock, - #[case] context: Option + #[case] context: Option, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack((active_radarr_block, context).into()); @@ -68,10 +86,17 @@ mod tests { }); if let Some(context) = context { - insta::assert_snapshot!(format!("{}_{}", active_radarr_block.to_string(), context.to_string()), output); + insta::assert_snapshot!( + format!( + "{}_{}", + active_radarr_block.to_string(), + context.to_string() + ), + output + ); } else { insta::assert_snapshot!(active_radarr_block.to_string(), output); } } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/library/delete_movie_ui_tests.rs b/src/ui/radarr_ui/library/delete_movie_ui_tests.rs index 155c374..bd2ea87 100644 --- a/src/ui/radarr_ui/library/delete_movie_ui_tests.rs +++ b/src/ui/radarr_ui/library/delete_movie_ui_tests.rs @@ -38,4 +38,4 @@ mod tests { insta::assert_snapshot!(output); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/library/edit_movie_ui_tests.rs b/src/ui/radarr_ui/library/edit_movie_ui_tests.rs index f045b99..8d9993f 100644 --- a/src/ui/radarr_ui/library/edit_movie_ui_tests.rs +++ b/src/ui/radarr_ui/library/edit_movie_ui_tests.rs @@ -23,17 +23,33 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; use super::*; + use rstest::rstest; #[rstest] #[case(ActiveRadarrBlock::EditMoviePrompt, None, 0)] - #[case(ActiveRadarrBlock::EditMoviePrompt, Some(ActiveRadarrBlock::MovieDetails), 0)] - #[case(ActiveRadarrBlock::EditMoviePrompt, Some(ActiveRadarrBlock::MovieHistory), 1)] - #[case(ActiveRadarrBlock::EditMoviePrompt, Some(ActiveRadarrBlock::FileInfo), 2)] + #[case( + ActiveRadarrBlock::EditMoviePrompt, + Some(ActiveRadarrBlock::MovieDetails), + 0 + )] + #[case( + ActiveRadarrBlock::EditMoviePrompt, + Some(ActiveRadarrBlock::MovieHistory), + 1 + )] + #[case( + ActiveRadarrBlock::EditMoviePrompt, + Some(ActiveRadarrBlock::FileInfo), + 2 + )] #[case(ActiveRadarrBlock::EditMoviePrompt, Some(ActiveRadarrBlock::Cast), 3)] #[case(ActiveRadarrBlock::EditMoviePrompt, Some(ActiveRadarrBlock::Crew), 4)] - #[case(ActiveRadarrBlock::EditMoviePrompt, Some(ActiveRadarrBlock::ManualSearch), 5)] + #[case( + ActiveRadarrBlock::EditMoviePrompt, + Some(ActiveRadarrBlock::ManualSearch), + 5 + )] fn test_edit_movie_ui_renders_edit_movie_modal( #[case] active_radarr_block: ActiveRadarrBlock, #[case] context: Option, @@ -51,10 +67,17 @@ mod tests { }); if let Some(context) = context { - insta::assert_snapshot!(format!("{}_{}", active_radarr_block.to_string(), context.to_string()), output); + insta::assert_snapshot!( + format!( + "{}_{}", + active_radarr_block.to_string(), + context.to_string() + ), + output + ); } else { insta::assert_snapshot!(active_radarr_block.to_string(), output); } } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/library/library_ui_tests.rs b/src/ui/radarr_ui/library/library_ui_tests.rs index b68a44f..2ab03be 100644 --- a/src/ui/radarr_ui/library/library_ui_tests.rs +++ b/src/ui/radarr_ui/library/library_ui_tests.rs @@ -30,10 +30,12 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; - use crate::models::BlockSelectionState; - use crate::models::servarr_data::radarr::radarr_data::{ADD_MOVIE_SELECTION_BLOCKS, EDIT_MOVIE_SELECTION_BLOCKS}; use super::*; + use crate::models::BlockSelectionState; + use crate::models::servarr_data::radarr::radarr_data::{ + ADD_MOVIE_SELECTION_BLOCKS, EDIT_MOVIE_SELECTION_BLOCKS, + }; + use rstest::rstest; #[test] fn test_library_ui_renders_library_tab_loading() { @@ -69,8 +71,9 @@ mod tests { ActiveRadarrBlock::SearchMovieError, ActiveRadarrBlock::FilterMovies, ActiveRadarrBlock::FilterMoviesError, - ActiveRadarrBlock::UpdateAllMoviesPrompt, - )] active_radarr_block: ActiveRadarrBlock, + ActiveRadarrBlock::UpdateAllMoviesPrompt + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); @@ -85,17 +88,18 @@ mod tests { #[rstest] fn test_library_movie_ui_renders_add_movie_ui( #[values( - ActiveRadarrBlock::AddMovieSearchInput, - ActiveRadarrBlock::AddMovieSearchResults, - ActiveRadarrBlock::AddMovieEmptySearchResults, - ActiveRadarrBlock::AddMoviePrompt, - ActiveRadarrBlock::AddMovieSelectMinimumAvailability, - ActiveRadarrBlock::AddMovieSelectMonitor, - ActiveRadarrBlock::AddMovieSelectQualityProfile, - ActiveRadarrBlock::AddMovieSelectRootFolder, - ActiveRadarrBlock::AddMovieAlreadyInLibrary, - ActiveRadarrBlock::AddMovieTagsInput, - )] active_radarr_block: ActiveRadarrBlock, + ActiveRadarrBlock::AddMovieSearchInput, + ActiveRadarrBlock::AddMovieSearchResults, + ActiveRadarrBlock::AddMovieEmptySearchResults, + ActiveRadarrBlock::AddMoviePrompt, + ActiveRadarrBlock::AddMovieSelectMinimumAvailability, + ActiveRadarrBlock::AddMovieSelectMonitor, + ActiveRadarrBlock::AddMovieSelectQualityProfile, + ActiveRadarrBlock::AddMovieSelectRootFolder, + ActiveRadarrBlock::AddMovieAlreadyInLibrary, + ActiveRadarrBlock::AddMovieTagsInput + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); @@ -105,7 +109,7 @@ mod tests { LibraryUi::draw(f, app, f.area()); }); - insta::assert_snapshot!(active_radarr_block.to_string(), output); + insta::assert_snapshot!(active_radarr_block.to_string(), output); } #[test] @@ -118,7 +122,7 @@ mod tests { LibraryUi::draw(f, app, f.area()); }); - insta::assert_snapshot!(output); + insta::assert_snapshot!(output); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/library/movie_details_ui_tests.rs b/src/ui/radarr_ui/library/movie_details_ui_tests.rs index 6b2b108..46e8417 100644 --- a/src/ui/radarr_ui/library/movie_details_ui_tests.rs +++ b/src/ui/radarr_ui/library/movie_details_ui_tests.rs @@ -50,29 +50,77 @@ mod tests { #[rstest] #[case(ActiveRadarrBlock::MovieDetails, None, 0)] - #[case(ActiveRadarrBlock::MovieDetails, Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), 0)] - #[case(ActiveRadarrBlock::MovieDetails, Some(ActiveRadarrBlock::UpdateAndScanPrompt), 0)] + #[case( + ActiveRadarrBlock::MovieDetails, + Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), + 0 + )] + #[case( + ActiveRadarrBlock::MovieDetails, + Some(ActiveRadarrBlock::UpdateAndScanPrompt), + 0 + )] #[case(ActiveRadarrBlock::MovieHistory, None, 1)] - #[case(ActiveRadarrBlock::MovieHistory, Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), 1)] - #[case(ActiveRadarrBlock::MovieHistory, Some(ActiveRadarrBlock::UpdateAndScanPrompt), 1)] + #[case( + ActiveRadarrBlock::MovieHistory, + Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), + 1 + )] + #[case( + ActiveRadarrBlock::MovieHistory, + Some(ActiveRadarrBlock::UpdateAndScanPrompt), + 1 + )] #[case(ActiveRadarrBlock::FileInfo, None, 2)] - #[case(ActiveRadarrBlock::FileInfo, Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), 2)] - #[case(ActiveRadarrBlock::FileInfo, Some(ActiveRadarrBlock::UpdateAndScanPrompt), 2)] + #[case( + ActiveRadarrBlock::FileInfo, + Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), + 2 + )] + #[case( + ActiveRadarrBlock::FileInfo, + Some(ActiveRadarrBlock::UpdateAndScanPrompt), + 2 + )] #[case(ActiveRadarrBlock::Cast, None, 3)] - #[case(ActiveRadarrBlock::Cast, Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), 3)] - #[case(ActiveRadarrBlock::Cast, Some(ActiveRadarrBlock::UpdateAndScanPrompt), 3)] + #[case( + ActiveRadarrBlock::Cast, + Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), + 3 + )] + #[case( + ActiveRadarrBlock::Cast, + Some(ActiveRadarrBlock::UpdateAndScanPrompt), + 3 + )] #[case(ActiveRadarrBlock::Crew, None, 4)] - #[case(ActiveRadarrBlock::Crew, Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), 4)] - #[case(ActiveRadarrBlock::Crew, Some(ActiveRadarrBlock::UpdateAndScanPrompt), 4)] + #[case( + ActiveRadarrBlock::Crew, + Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), + 4 + )] + #[case( + ActiveRadarrBlock::Crew, + Some(ActiveRadarrBlock::UpdateAndScanPrompt), + 4 + )] #[case(ActiveRadarrBlock::ManualSearch, None, 5)] - #[case(ActiveRadarrBlock::ManualSearch, Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), 5)] - #[case(ActiveRadarrBlock::ManualSearch, Some(ActiveRadarrBlock::UpdateAndScanPrompt), 5)] + #[case( + ActiveRadarrBlock::ManualSearch, + Some(ActiveRadarrBlock::AutomaticallySearchMoviePrompt), + 5 + )] + #[case( + ActiveRadarrBlock::ManualSearch, + Some(ActiveRadarrBlock::UpdateAndScanPrompt), + 5 + )] #[case(ActiveRadarrBlock::ManualSearchSortPrompt, None, 5)] #[case(ActiveRadarrBlock::ManualSearchConfirmPrompt, None, 5)] fn test_movie_details_ui_renders_movie_details_tab( #[case] active_radarr_block: ActiveRadarrBlock, #[case] context: Option, - #[case] index: usize + #[case] index: usize, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack((active_radarr_block, context).into()); @@ -83,9 +131,15 @@ mod tests { }); if let Some(context) = context { - insta::assert_snapshot!(format!("movie_details_render_{active_radarr_block}_{context}"), output); + insta::assert_snapshot!( + format!("movie_details_render_{active_radarr_block}_{context}"), + output + ); } else { - insta::assert_snapshot!(format!("movie_details_render_{active_radarr_block}"), output); + insta::assert_snapshot!( + format!("movie_details_render_{active_radarr_block}"), + output + ); } } @@ -97,8 +151,9 @@ mod tests { ActiveRadarrBlock::FileInfo, ActiveRadarrBlock::Cast, ActiveRadarrBlock::Crew, - ActiveRadarrBlock::ManualSearch, - )] active_radarr_block: ActiveRadarrBlock + ActiveRadarrBlock::ManualSearch + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default(); app.is_loading = true; @@ -108,7 +163,10 @@ mod tests { MovieDetailsUi::draw(f, app, f.area()); }); - insta::assert_snapshot!(format!("movie_details_loading_{active_radarr_block}"), output); + insta::assert_snapshot!( + format!("movie_details_loading_{active_radarr_block}"), + output + ); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/mod.rs b/src/ui/radarr_ui/mod.rs index 32f56b8..991aa6e 100644 --- a/src/ui/radarr_ui/mod.rs +++ b/src/ui/radarr_ui/mod.rs @@ -1,14 +1,14 @@ -use std::{cmp, iter}; #[cfg(test)] use crate::ui::ui_test_utils::test_utils::Utc; +use chrono::Duration; #[cfg(not(test))] use chrono::Utc; -use chrono::{Duration}; use ratatui::Frame; use ratatui::layout::{Constraint, Layout, Rect}; use ratatui::prelude::Stylize; use ratatui::text::Text; use ratatui::widgets::{Paragraph, Row}; +use std::{cmp, iter}; use crate::app::App; use crate::logos::RADARR_LOGO; diff --git a/src/ui/radarr_ui/radarr_ui_tests.rs b/src/ui/radarr_ui/radarr_ui_tests.rs index 5cbe9d3..ab43f32 100644 --- a/src/ui/radarr_ui/radarr_ui_tests.rs +++ b/src/ui/radarr_ui/radarr_ui_tests.rs @@ -22,7 +22,7 @@ mod tests { mod snapshot_tests { use super::*; - use crate::ui::ui_test_utils::test_utils::{TerminalSize}; + use crate::ui::ui_test_utils::test_utils::TerminalSize; #[rstest] #[case(ActiveRadarrBlock::Movies, 0)] diff --git a/src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs b/src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs index cf97b15..392ffc8 100644 --- a/src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs +++ b/src/ui/radarr_ui/root_folders/root_folders_ui_tests.rs @@ -21,8 +21,8 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; use super::*; + use rstest::rstest; #[test] fn test_root_folders_ui_renders_loading() { @@ -55,8 +55,9 @@ mod tests { #[values( ActiveRadarrBlock::RootFolders, ActiveRadarrBlock::AddRootFolderPrompt, - ActiveRadarrBlock::DeleteRootFolderPrompt, - )] active_radarr_block: ActiveRadarrBlock + ActiveRadarrBlock::DeleteRootFolderPrompt + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); @@ -68,4 +69,4 @@ mod tests { insta::assert_snapshot!(active_radarr_block.to_string(), output); } } -} \ No newline at end of file +} diff --git a/src/ui/radarr_ui/system/mod.rs b/src/ui/radarr_ui/system/mod.rs index 8e3966f..2939924 100644 --- a/src/ui/radarr_ui/system/mod.rs +++ b/src/ui/radarr_ui/system/mod.rs @@ -1,9 +1,9 @@ use std::ops::Sub; -#[cfg(not(test))] -use chrono::Utc; #[cfg(test)] use crate::ui::ui_test_utils::test_utils::Utc; +#[cfg(not(test))] +use chrono::Utc; use ratatui::layout::Layout; use ratatui::style::Style; use ratatui::text::{Span, Text}; diff --git a/src/ui/radarr_ui/system/system_details_ui_tests.rs b/src/ui/radarr_ui/system/system_details_ui_tests.rs index f012196..37782ec 100644 --- a/src/ui/radarr_ui/system/system_details_ui_tests.rs +++ b/src/ui/radarr_ui/system/system_details_ui_tests.rs @@ -23,8 +23,8 @@ mod tests { } mod snapshot_tests { - use rstest::rstest; use super::*; + use rstest::rstest; #[rstest] fn test_system_details_ui_renders_tasks( @@ -33,8 +33,9 @@ mod tests { ActiveRadarrBlock::SystemQueuedEvents, ActiveRadarrBlock::SystemTasks, ActiveRadarrBlock::SystemTaskStartConfirmPrompt, - ActiveRadarrBlock::SystemUpdates, - )] active_radarr_block: ActiveRadarrBlock + ActiveRadarrBlock::SystemUpdates + )] + active_radarr_block: ActiveRadarrBlock, ) { let mut app = App::test_default_fully_populated(); app.push_navigation_stack(active_radarr_block.into()); @@ -75,7 +76,7 @@ mod tests { #[test] fn test_system_details_ui_renders_logs_loading() { let mut app = App::test_default_fully_populated(); - app.is_loading = true; + app.is_loading = true; app.push_navigation_stack(ActiveRadarrBlock::SystemLogs.into()); let output = render_to_string_with_app(TerminalSize::Large, &mut app, |f, app| { diff --git a/src/ui/ui_test_utils.rs b/src/ui/ui_test_utils.rs index 8d27079..8d97539 100644 --- a/src/ui/ui_test_utils.rs +++ b/src/ui/ui_test_utils.rs @@ -1,12 +1,12 @@ #[cfg(test)] #[allow(dead_code)] pub mod test_utils { - use std::cell::Cell; use chrono::DateTime; use ratatui::Frame; use ratatui::Terminal; use ratatui::backend::TestBackend; use ratatui::buffer::Buffer; + use std::cell::Cell; use crate::app::App; @@ -18,14 +18,12 @@ pub mod test_utils { impl Utc { pub fn now() -> DateTime { - - TIMESTAMP.with(|timestamp| { - let ts = timestamp.get(); - DateTime::::from_timestamp( - if ts != 0 { ts } else { 1684618200 }, - 0, - )} - ).expect("a valid timestamp set") + TIMESTAMP + .with(|timestamp| { + let ts = timestamp.get(); + DateTime::::from_timestamp(if ts != 0 { ts } else { 1684618200 }, 0) + }) + .expect("a valid timestamp set") } } diff --git a/src/ui/widgets/managarr_table.rs b/src/ui/widgets/managarr_table.rs index a56d677..7aecb9f 100644 --- a/src/ui/widgets/managarr_table.rs +++ b/src/ui/widgets/managarr_table.rs @@ -122,7 +122,9 @@ where }; let loading_block = LoadingBlock::new(self.is_loading, self.block.clone()); - if let Some(content) = self.content && !self.is_loading { + if let Some(content) = self.content + && !self.is_loading + { let (table_contents, table_state) = if content.filtered_items.is_some() { ( content.filtered_items.as_ref().unwrap(),