test: Added in unit tests for TUI support for multiple custom named Servarrs

This commit is contained in:
2025-02-27 19:30:17 -07:00
parent 9b63b10118
commit f87e02cd7c
76 changed files with 1635 additions and 1403 deletions
@@ -36,7 +36,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let monitor_vec = Vec::from_iter(SeriesMonitor::iter());
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -100,7 +100,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -163,7 +163,7 @@ mod tests {
fn test_add_series_select_quality_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -220,7 +220,7 @@ mod tests {
fn test_add_series_select_language_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -277,7 +277,7 @@ mod tests {
fn test_add_series_select_root_folder_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -334,7 +334,7 @@ mod tests {
#[rstest]
fn test_add_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.down();
@@ -356,7 +356,7 @@ mod tests {
#[rstest]
fn test_add_series_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true;
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
@@ -385,7 +385,7 @@ mod tests {
#[test]
fn test_add_series_select_monitor_home_end() {
let monitor_vec = Vec::from_iter(SeriesMonitor::iter());
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -441,7 +441,7 @@ mod tests {
#[test]
fn test_add_series_select_series_type_home_end() {
let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -496,7 +496,7 @@ mod tests {
#[test]
fn test_add_series_select_quality_profile_home_end() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -555,7 +555,7 @@ mod tests {
#[test]
fn test_add_series_select_language_profile_home_end() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -614,7 +614,7 @@ mod tests {
#[test]
fn test_add_series_select_root_folder_home_end() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app
@@ -671,7 +671,7 @@ mod tests {
#[test]
fn test_add_series_search_input_home_end_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some("Test".into());
@@ -718,7 +718,7 @@ mod tests {
#[test]
fn test_add_series_tags_input_home_end_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: "Test".into(),
@@ -780,7 +780,7 @@ mod tests {
#[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
AddSeriesHandler::new(key, &mut app, ActiveSonarrBlock::AddSeriesPrompt, None).handle();
@@ -794,7 +794,7 @@ mod tests {
#[test]
fn test_add_series_search_input_left_right_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some("Test".into());
@@ -841,7 +841,7 @@ mod tests {
#[test]
fn test_add_series_tags_input_left_right_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: "Test".into(),
@@ -910,7 +910,7 @@ mod tests {
#[test]
fn test_add_series_search_input_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.should_ignore_quit_key = true;
app.data.sonarr_data.add_series_search = Some("test".into());
@@ -932,7 +932,7 @@ mod tests {
#[test]
fn test_add_series_search_input_submit_noop_on_empty_search() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.add_series_search = Some(HorizontallyScrollableText::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchInput.into());
@@ -955,7 +955,7 @@ mod tests {
#[test]
fn test_add_series_search_results_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let mut add_searched_series = StatefulTable::default();
add_searched_series.set_items(vec![AddSeriesSearchResult::default()]);
@@ -1022,7 +1022,7 @@ mod tests {
#[test]
fn test_add_series_search_results_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into());
@@ -1046,7 +1046,7 @@ mod tests {
#[test]
fn test_add_series_search_results_submit_does_nothing_on_empty_table() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into());
AddSeriesHandler::new(
@@ -1065,7 +1065,7 @@ mod tests {
#[test]
fn test_add_series_search_results_submit_series_already_in_library() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let mut add_searched_series = StatefulTable::default();
add_searched_series.set_items(vec![AddSeriesSearchResult::default()]);
@@ -1092,7 +1092,7 @@ mod tests {
#[test]
fn test_add_series_prompt_prompt_decline_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
@@ -1116,7 +1116,7 @@ mod tests {
#[test]
fn test_add_series_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.data.sonarr_data.prompt_confirm = true;
@@ -1212,7 +1212,7 @@ mod tests {
#[case] selected_block: ActiveSonarrBlock,
#[case] y_index: usize,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
@@ -1246,7 +1246,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.push_navigation_stack(active_sonarr_block.into());
@@ -1265,7 +1265,7 @@ mod tests {
#[test]
fn test_add_series_toggle_use_season_folder_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.set_index(0, 5);
@@ -1333,7 +1333,7 @@ mod tests {
#[rstest]
fn test_add_series_search_input_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = is_ready;
app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true;
@@ -1355,7 +1355,7 @@ mod tests {
#[test]
fn test_add_series_input_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1385,7 +1385,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchInput.into());
app.push_navigation_stack(active_sonarr_block.into());
@@ -1408,7 +1408,7 @@ mod tests {
#[test]
fn test_add_series_already_in_library_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into());
@@ -1430,7 +1430,7 @@ mod tests {
#[test]
fn test_add_series_prompt_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1449,7 +1449,7 @@ mod tests {
#[test]
fn test_add_series_tags_input_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1482,7 +1482,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.push_navigation_stack(active_sonarr_block.into());
@@ -1509,7 +1509,7 @@ mod tests {
#[test]
fn test_add_series_search_input_backspace() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some("Test".into());
@@ -1535,7 +1535,7 @@ mod tests {
#[test]
fn test_add_series_tags_input_backspace() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: "Test".into(),
@@ -1565,7 +1565,7 @@ mod tests {
#[test]
fn test_add_series_search_input_char_key() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some(HorizontallyScrollableText::default());
@@ -1591,7 +1591,7 @@ mod tests {
#[test]
fn test_add_series_tags_input_char_key() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
@@ -1618,7 +1618,7 @@ mod tests {
#[test]
fn test_add_series_confirm_prompt_prompt_confirmation_confirm() {
let mut app = App::default();
let mut app = App::test_default();
let mut add_series_modal = AddSeriesModal {
use_season_folder: true,
tags: "usenet, testing".into(),
@@ -1716,7 +1716,7 @@ mod tests {
#[test]
fn test_add_series_search_no_panic_on_none_search_result() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.add_series_search = None;
AddSeriesHandler::new(
@@ -1730,7 +1730,7 @@ mod tests {
#[test]
fn test_build_add_series_body() {
let mut app = App::default();
let mut app = App::test_default();
let mut add_series_modal = AddSeriesModal {
use_season_folder: true,
tags: "usenet, testing".into(),
@@ -1803,7 +1803,7 @@ mod tests {
#[test]
fn test_add_series_handler_is_not_ready_when_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true;
@@ -1819,7 +1819,7 @@ mod tests {
#[test]
fn test_add_series_handler_is_ready_when_not_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = false;
@@ -23,7 +23,7 @@ mod tests {
#[rstest]
fn test_delete_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.selected_block =
BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.down();
@@ -47,7 +47,7 @@ mod tests {
fn test_delete_series_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.data.sonarr_data.selected_block =
BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS);
@@ -69,7 +69,7 @@ mod tests {
#[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
DeleteSeriesHandler::new(key, &mut app, ActiveSonarrBlock::DeleteSeriesPrompt, None).handle();
@@ -95,7 +95,7 @@ mod tests {
#[test]
fn test_delete_series_prompt_prompt_decline_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
app.data.sonarr_data.selected_block =
@@ -125,7 +125,7 @@ mod tests {
#[test]
fn test_delete_series_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
app.data.sonarr_data.prompt_confirm = true;
@@ -166,7 +166,7 @@ mod tests {
#[test]
fn test_delete_series_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
@@ -196,7 +196,7 @@ mod tests {
#[test]
fn test_delete_series_toggle_delete_files_submit() {
let current_route = ActiveSonarrBlock::DeleteSeriesPrompt.into();
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.selected_block =
BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS);
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
@@ -234,7 +234,7 @@ mod tests {
#[rstest]
fn test_delete_series_prompt_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
@@ -270,7 +270,7 @@ mod tests {
#[test]
fn test_delete_series_confirm_prompt_prompt_confirm() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
app.data.sonarr_data.delete_series_files = true;
@@ -322,7 +322,7 @@ mod tests {
#[test]
fn test_build_delete_series_params() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![series()]);
app.data.sonarr_data.delete_series_files = true;
app.data.sonarr_data.add_list_exclusion = true;
@@ -347,7 +347,7 @@ mod tests {
#[test]
fn test_delete_series_handler_not_ready_when_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
let handler = DeleteSeriesHandler::new(
@@ -362,7 +362,7 @@ mod tests {
#[test]
fn test_delete_series_handler_ready_when_not_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = false;
let handler = DeleteSeriesHandler::new(
@@ -30,7 +30,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app
@@ -93,7 +93,7 @@ mod tests {
fn test_edit_series_select_quality_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app
@@ -150,7 +150,7 @@ mod tests {
fn test_edit_series_select_language_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app
@@ -205,7 +205,7 @@ mod tests {
#[rstest]
fn test_edit_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS);
@@ -228,7 +228,7 @@ mod tests {
#[rstest]
fn test_edit_series_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -257,7 +257,7 @@ mod tests {
#[test]
fn test_edit_series_select_series_type_home_end() {
let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app
@@ -312,7 +312,7 @@ mod tests {
#[test]
fn test_edit_series_select_quality_profile_scroll() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app
@@ -371,7 +371,7 @@ mod tests {
#[test]
fn test_edit_series_select_language_profile_scroll() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app
@@ -430,7 +430,7 @@ mod tests {
#[test]
fn test_edit_series_path_input_home_end_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test".into(),
@@ -482,7 +482,7 @@ mod tests {
#[test]
fn test_edit_series_tags_input_home_end_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test".into(),
@@ -544,7 +544,7 @@ mod tests {
#[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
EditSeriesHandler::new(key, &mut app, ActiveSonarrBlock::EditSeriesPrompt, None).handle();
@@ -558,7 +558,7 @@ mod tests {
#[test]
fn test_edit_series_path_input_left_right_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test".into(),
@@ -610,7 +610,7 @@ mod tests {
#[test]
fn test_edit_series_tags_input_left_right_keys() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test".into(),
@@ -676,7 +676,7 @@ mod tests {
#[test]
fn test_edit_series_path_input_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test Path".into(),
@@ -712,7 +712,7 @@ mod tests {
#[test]
fn test_edit_series_tags_input_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test Tags".into(),
@@ -748,7 +748,7 @@ mod tests {
#[test]
fn test_edit_series_prompt_prompt_decline_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into());
@@ -773,7 +773,7 @@ mod tests {
#[test]
fn test_edit_series_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default();
let mut app = App::test_default();
let mut edit_series = EditSeriesModal {
tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(),
@@ -840,7 +840,7 @@ mod tests {
#[test]
fn test_edit_series_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -869,7 +869,7 @@ mod tests {
ActiveSonarrBlock::EditSeriesPrompt,
Some(ActiveSonarrBlock::Series),
));
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS);
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -922,7 +922,7 @@ mod tests {
ActiveSonarrBlock::EditSeriesPrompt,
Some(ActiveSonarrBlock::Series),
));
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.set_index(0, 1);
@@ -980,7 +980,7 @@ mod tests {
#[case] selected_block: ActiveSonarrBlock,
#[case] y_index: usize,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(
@@ -1018,7 +1018,7 @@ mod tests {
fn test_edit_series_prompt_selected_block_submit_no_op_when_not_ready(
#[values(1, 2, 3, 4)] y_index: usize,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1063,7 +1063,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into());
@@ -1109,7 +1109,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1127,7 +1127,7 @@ mod tests {
#[test]
fn test_edit_series_prompt_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into());
app.data.sonarr_data = create_test_sonarr_data();
@@ -1151,7 +1151,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = is_ready;
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1178,7 +1178,7 @@ mod tests {
#[test]
fn test_edit_series_path_input_backspace() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test".into(),
@@ -1208,7 +1208,7 @@ mod tests {
#[test]
fn test_edit_series_tags_input_backspace() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test".into(),
@@ -1238,7 +1238,7 @@ mod tests {
#[test]
fn test_edit_series_path_input_char_key() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -1265,7 +1265,7 @@ mod tests {
#[test]
fn test_edit_series_tags_input_char_key() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -1292,7 +1292,7 @@ mod tests {
#[test]
fn test_edit_series_confirm_prompt_prompt_confirm() {
let mut app = App::default();
let mut app = App::test_default();
let mut edit_series = EditSeriesModal {
tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(),
@@ -1370,7 +1370,7 @@ mod tests {
#[test]
fn test_build_edit_series_params() {
let mut app = App::default();
let mut app = App::test_default();
let mut edit_series = EditSeriesModal {
tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(),
@@ -1423,7 +1423,7 @@ mod tests {
#[test]
fn test_edit_series_handler_is_not_ready_when_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true;
@@ -1439,7 +1439,7 @@ mod tests {
#[test]
fn test_edit_series_handler_is_not_ready_when_edit_series_modal_is_none() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = false;
@@ -1455,7 +1455,7 @@ mod tests {
#[test]
fn test_edit_series_handler_is_ready_when_edit_series_modal_is_some() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = false;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -31,7 +31,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock,
#[values(Key::Left, Key::Right)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
EpisodeDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -56,7 +56,7 @@ mod tests {
#[case] right_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_loading = is_ready;
@@ -137,7 +137,7 @@ mod tests {
#[test]
fn test_episode_history_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
EpisodeDetailsHandler::new(
@@ -156,7 +156,7 @@ mod tests {
#[test]
fn test_episode_history_submit_no_op_when_episode_history_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -186,7 +186,7 @@ mod tests {
#[test]
fn test_episode_history_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistory.into());
@@ -221,7 +221,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -247,7 +247,7 @@ mod tests {
#[test]
fn test_manual_episode_search_confirm_prompt_confirm_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -285,7 +285,7 @@ mod tests {
)]
prompt_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app.push_navigation_stack(prompt_block.into());
@@ -302,7 +302,7 @@ mod tests {
#[test]
fn test_manual_episode_search_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -322,7 +322,7 @@ mod tests {
#[test]
fn test_manual_episode_search_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -351,7 +351,7 @@ mod tests {
#[test]
fn test_episode_history_details_block_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistory.into());
app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistoryDetails.into());
@@ -379,7 +379,7 @@ mod tests {
prompt_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = is_ready;
app.data.sonarr_data.prompt_confirm = true;
@@ -405,7 +405,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.push_navigation_stack(active_sonarr_block.into());
@@ -443,7 +443,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into());
@@ -471,7 +471,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -496,7 +496,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into());
app.is_routing = false;
@@ -523,7 +523,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -551,7 +551,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -583,7 +583,7 @@ mod tests {
#[test]
fn test_episode_details_manual_search_confirm_prompt_confirm_confirm_key() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -627,7 +627,7 @@ mod tests {
#[test]
fn test_extract_episode_id() {
let mut app = App::default();
let mut app = App::test_default();
let mut season_details_modal = SeasonDetailsModal::default();
season_details_modal.episodes.set_items(vec![episode()]);
app.data.sonarr_data.season_details_modal = Some(season_details_modal);
@@ -646,7 +646,7 @@ mod tests {
#[test]
#[should_panic = "Season details modal is undefined"]
fn test_extract_episode_id_panics_when_season_details_modal_is_none() {
let mut app = App::default();
let mut app = App::test_default();
EpisodeDetailsHandler::new(
DEFAULT_KEYBINDINGS.esc.key,
@@ -659,7 +659,7 @@ mod tests {
#[test]
fn test_episode_details_handler_is_not_ready_when_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app.is_loading = true;
@@ -675,7 +675,7 @@ mod tests {
#[test]
fn test_episode_details_handler_is_not_ready_when_season_details_modal_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app.is_loading = false;
@@ -691,7 +691,7 @@ mod tests {
#[test]
fn test_episode_details_handler_is_not_ready_when_episode_details_modal_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -715,7 +715,7 @@ mod tests {
#[test]
fn test_episode_details_handler_is_not_ready_when_episode_history_table_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -742,7 +742,7 @@ mod tests {
#[test]
fn test_episode_details_handler_is_not_ready_when_episode_releases_table_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -772,7 +772,7 @@ mod tests {
#[values(ActiveSonarrBlock::EpisodeDetails, ActiveSonarrBlock::EpisodeFile)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -804,7 +804,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into());
app.is_loading = false;
@@ -29,7 +29,7 @@ mod tests {
#[test]
fn test_series_delete() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -50,7 +50,7 @@ mod tests {
#[test]
fn test_series_delete_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app
@@ -73,7 +73,7 @@ mod tests {
#[rstest]
fn test_series_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(0);
@@ -94,7 +94,7 @@ mod tests {
#[rstest]
fn test_series_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(0);
@@ -117,7 +117,7 @@ mod tests {
fn test_left_right_update_all_series_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
LibraryHandler::new(
@@ -153,7 +153,7 @@ mod tests {
#[test]
fn test_series_details_submit() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -170,7 +170,7 @@ mod tests {
#[test]
fn test_series_details_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app
@@ -186,7 +186,7 @@ mod tests {
#[test]
fn test_update_all_series_prompt_confirm_submit() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -214,7 +214,7 @@ mod tests {
#[test]
fn test_update_all_series_prompt_decline_submit() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -248,7 +248,7 @@ mod tests {
#[test]
fn test_update_all_series_prompt_blocks_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::UpdateAllSeriesPrompt.into());
app.data.sonarr_data.prompt_confirm = true;
@@ -267,7 +267,7 @@ mod tests {
#[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = is_ready;
app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -297,7 +297,7 @@ mod tests {
#[test]
fn test_series_add_key() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -322,7 +322,7 @@ mod tests {
#[test]
fn test_series_add_key_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app
@@ -355,7 +355,7 @@ mod tests {
#[test]
fn test_series_edit_key_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app
@@ -378,7 +378,7 @@ mod tests {
#[test]
fn test_update_all_series_key() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -401,7 +401,7 @@ mod tests {
#[test]
fn test_update_all_series_key_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app
@@ -423,7 +423,7 @@ mod tests {
#[test]
fn test_refresh_series_key() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -445,7 +445,7 @@ mod tests {
#[test]
fn test_refresh_series_key_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app
.data
@@ -468,7 +468,7 @@ mod tests {
#[test]
fn test_update_all_series_prompt_confirm() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -829,7 +829,7 @@ mod tests {
#[test]
fn test_library_handler_not_ready_when_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
let handler = LibraryHandler::new(
@@ -844,7 +844,7 @@ mod tests {
#[test]
fn test_library_handler_not_ready_when_series_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = false;
let handler = LibraryHandler::new(
@@ -859,7 +859,7 @@ mod tests {
#[test]
fn test_library_handler_ready_when_not_loading_and_series_is_not_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = false;
app
.data
@@ -30,7 +30,7 @@ mod tests {
#[test]
fn test_delete_episode_prompt() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
@@ -45,7 +45,7 @@ mod tests {
#[test]
fn test_delete_episode_prompt_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_loading = true;
@@ -75,7 +75,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock,
#[values(Key::Left, Key::Right)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
SeasonDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -102,7 +102,7 @@ mod tests {
#[case] right_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.is_loading = is_ready;
@@ -169,7 +169,7 @@ mod tests {
#[test]
fn test_season_details_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.data.sonarr_data = create_test_sonarr_data();
@@ -184,7 +184,7 @@ mod tests {
#[test]
fn test_season_details_submit_no_op_on_empty_episodes_table() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -206,7 +206,7 @@ mod tests {
#[test]
fn test_season_details_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
@@ -221,7 +221,7 @@ mod tests {
#[test]
fn test_season_history_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
SeasonDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::SeasonHistory, None)
@@ -235,7 +235,7 @@ mod tests {
#[test]
fn test_season_history_submit_no_op_when_season_history_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -257,7 +257,7 @@ mod tests {
#[test]
fn test_season_history_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into());
@@ -286,7 +286,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeasonDetails, ActiveSonarrBlock::SeasonHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -304,7 +304,7 @@ mod tests {
#[test]
fn test_season_details_manual_search_confirm_prompt_confirm_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -344,7 +344,7 @@ mod tests {
)]
prompt_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.push_navigation_stack(prompt_block.into());
@@ -361,7 +361,7 @@ mod tests {
#[test]
fn test_manual_season_search_submit() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -381,7 +381,7 @@ mod tests {
#[test]
fn test_manual_season_search_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -413,7 +413,7 @@ mod tests {
#[test]
fn test_season_history_details_block_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into());
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistoryDetails.into());
@@ -442,7 +442,7 @@ mod tests {
prompt_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = is_ready;
app.data.sonarr_data.prompt_confirm = true;
@@ -460,7 +460,7 @@ mod tests {
#[test]
fn test_season_history_esc_resets_filter_if_one_is_set_instead_of_closing_the_window() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
let mut season_history = StatefulTable {
filter: Some("Test".into()),
@@ -523,7 +523,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.push_navigation_stack(active_sonarr_block.into());
@@ -546,7 +546,7 @@ mod tests {
#[test]
fn test_toggle_monitoring_key() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app
.data
@@ -581,7 +581,7 @@ mod tests {
#[test]
fn test_toggle_monitoring_key_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_routing = false;
@@ -612,7 +612,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into());
@@ -639,7 +639,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -663,7 +663,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into());
app.is_routing = false;
@@ -689,7 +689,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -722,7 +722,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeasonDetails, ActiveSonarrBlock::SeasonHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -746,7 +746,7 @@ mod tests {
#[test]
fn test_season_details_manual_search_confirm_prompt_confirm_confirm_key() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -791,7 +791,7 @@ mod tests {
#[test]
fn test_extract_episode_file_id() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
let episode_file_id = SeasonDetailsHandler::new(
@@ -808,7 +808,7 @@ mod tests {
#[test]
#[should_panic(expected = "Season details have not been loaded")]
fn test_extract_episode_file_id_empty_season_details_modal_panics() {
let mut app = App::default();
let mut app = App::test_default();
SeasonDetailsHandler::new(
DEFAULT_KEYBINDINGS.esc.key,
@@ -821,7 +821,7 @@ mod tests {
#[test]
fn test_extract_episode_id() {
let mut app = App::default();
let mut app = App::test_default();
let mut season_details_modal = SeasonDetailsModal::default();
season_details_modal.episodes.set_items(vec![episode()]);
app.data.sonarr_data.season_details_modal = Some(season_details_modal);
@@ -840,7 +840,7 @@ mod tests {
#[test]
#[should_panic(expected = "Season details have not been loaded")]
fn test_extract_episode_id_panic_when_season_details_modal_is_none() {
let mut app = App::default();
let mut app = App::test_default();
SeasonDetailsHandler::new(
DEFAULT_KEYBINDINGS.esc.key,
@@ -853,7 +853,7 @@ mod tests {
#[test]
fn test_extract_series_id_season_number_tuple() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
let (series_id, season_number) = SeasonDetailsHandler::new(
@@ -870,7 +870,7 @@ mod tests {
#[test]
fn test_season_details_handler_is_not_ready_when_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_loading = true;
@@ -886,7 +886,7 @@ mod tests {
#[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_season_details_is_none() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
let handler = SeasonDetailsHandler::new(
@@ -901,7 +901,7 @@ mod tests {
#[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_episodes_table_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
@@ -917,7 +917,7 @@ mod tests {
#[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_history_table_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into());
@@ -933,7 +933,7 @@ mod tests {
#[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_releases_table_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -956,7 +956,7 @@ mod tests {
)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.push_navigation_stack(active_sonarr_block.into());
@@ -30,7 +30,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock,
#[values(Key::Left, Key::Right)] key: Key,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
SeriesDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -50,7 +50,7 @@ mod tests {
#[case] right_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = is_ready;
app.push_navigation_stack(right_block.into());
@@ -93,7 +93,7 @@ mod tests {
#[test]
fn test_series_details_submit() {
let mut app = App::default();
let mut app = App::test_default();
app
.data
.sonarr_data
@@ -111,7 +111,7 @@ mod tests {
#[test]
fn test_series_details_submit_no_op_on_empty_seasons_table() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
SeriesDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::SeriesDetails, None)
@@ -125,7 +125,7 @@ mod tests {
#[test]
fn test_series_details_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -137,7 +137,7 @@ mod tests {
#[test]
fn test_series_history_submit() {
let mut app = App::default();
let mut app = App::test_default();
let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history);
@@ -153,7 +153,7 @@ mod tests {
#[test]
fn test_series_history_submit_no_op_when_series_history_is_empty() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesHistory.into());
app.data.sonarr_data.series_history = Some(StatefulTable::default());
@@ -168,7 +168,7 @@ mod tests {
#[test]
fn test_series_history_submit_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -191,7 +191,7 @@ mod tests {
#[case] prompt_block: ActiveSonarrBlock,
#[case] expected_action: SonarrEvent,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.prompt_confirm = true;
app.data.sonarr_data.series.set_items(vec![series()]);
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
@@ -218,7 +218,7 @@ mod tests {
)]
prompt_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.push_navigation_stack(prompt_block.into());
@@ -243,7 +243,7 @@ mod tests {
#[test]
fn test_series_history_details_block_esc() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesHistory.into());
app.push_navigation_stack(ActiveSonarrBlock::SeriesHistoryDetails.into());
@@ -270,7 +270,7 @@ mod tests {
prompt_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = is_ready;
app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
@@ -287,7 +287,7 @@ mod tests {
#[test]
fn test_series_history_esc_resets_filter_if_one_is_set_instead_of_closing_the_window() {
let mut app = App::default();
let mut app = App::test_default();
let series_history = StatefulTable {
filter: Some("Test".into()),
filtered_items: Some(vec![SonarrHistoryItem::default()]),
@@ -359,7 +359,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -377,7 +377,7 @@ mod tests {
#[test]
fn test_toggle_monitoring_key() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.is_routing = false;
@@ -404,7 +404,7 @@ mod tests {
#[test]
fn test_toggle_monitoring_key_no_op_when_not_ready() {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.is_routing = false;
@@ -431,7 +431,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history);
@@ -456,7 +456,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -476,7 +476,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history);
@@ -501,7 +501,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
@@ -521,7 +521,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history);
@@ -545,7 +545,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into());
app.is_routing = false;
@@ -577,7 +577,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock,
) {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.prompt_confirm = true;
app.data.sonarr_data.series.set_items(vec![series()]);
app.push_navigation_stack(active_sonarr_block.into());
@@ -613,7 +613,7 @@ mod tests {
#[test]
fn test_extract_series_id_season_number_tuple() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![series()]);
app.data.sonarr_data.seasons.set_items(vec![season()]);
@@ -630,7 +630,7 @@ mod tests {
#[test]
fn test_extract_series_id() {
let mut app = App::default();
let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![series()]);
let series_id = SeriesDetailsHandler::new(
@@ -646,7 +646,7 @@ mod tests {
#[test]
fn test_series_details_handler_is_not_ready_when_loading() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true;
@@ -662,7 +662,7 @@ mod tests {
#[test]
fn test_series_details_handler_is_not_ready_when_not_loading_and_series_history_is_none() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let handler = SeriesDetailsHandler::new(
@@ -677,7 +677,7 @@ mod tests {
#[test]
fn test_series_details_handler_ready_when_not_loading_and_series_history_is_some() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.series_history = Some(StatefulTable::default());
@@ -693,7 +693,7 @@ mod tests {
#[test]
fn test_series_details_handler_ready_when_not_loading_for_series_details() {
let mut app = App::default();
let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let handler = SeriesDetailsHandler::new(