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

This commit is contained in:
2025-12-09 14:28:47 -07:00
parent d47dadeb88
commit d4bea91186
38 changed files with 801 additions and 751 deletions
@@ -5,32 +5,32 @@ mod tests {
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::app::App;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::assert_modal_absent;
use crate::assert_modal_present;
use crate::assert_navigation_pushed;
use crate::event::Key;
use crate::handlers::KeyEventHandler;
use crate::handlers::sonarr_handlers::library::add_series_handler::AddSeriesHandler;
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::add_series_search_result;
use crate::handlers::KeyEventHandler;
use crate::models::HorizontallyScrollableText;
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ADD_SERIES_BLOCKS};
use crate::models::servarr_data::sonarr::sonarr_data::{ADD_SERIES_BLOCKS, ActiveSonarrBlock};
use crate::models::servarr_models::RootFolder;
use crate::models::sonarr_models::{
AddSeriesBody, AddSeriesOptions, AddSeriesSearchResult, SeriesMonitor, SeriesType,
};
use crate::models::stateful_table::StatefulTable;
use crate::models::HorizontallyScrollableText;
mod test_handle_scroll_up_and_down {
use pretty_assertions::assert_eq;
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::models::BlockSelectionState;
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS;
use crate::models::BlockSelectionState;
use crate::simple_stateful_iterable_vec;
use super::*;
@@ -898,11 +898,11 @@ mod tests {
mod test_handle_submit {
use crate::assert_navigation_popped;
use crate::models::BlockSelectionState;
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS;
use crate::models::sonarr_models::Series;
use crate::models::stateful_table::StatefulTable;
use crate::models::BlockSelectionState;
use crate::network::sonarr_network::SonarrEvent;
use bimap::BiMap;
use pretty_assertions::{assert_eq, assert_str_eq};
@@ -978,33 +978,39 @@ mod tests {
ActiveSonarrBlock::AddSeriesSelectRootFolder
);
assert_modal_present!(app.data.sonarr_data.add_series_modal);
assert!(!app
.data
.sonarr_data
.add_series_modal
.as_ref()
.unwrap()
.monitor_list
.items
.is_empty());
assert!(!app
.data
.sonarr_data
.add_series_modal
.as_ref()
.unwrap()
.series_type_list
.items
.is_empty());
assert!(!app
.data
.sonarr_data
.add_series_modal
.as_ref()
.unwrap()
.quality_profile_list
.items
.is_empty());
assert!(
!app
.data
.sonarr_data
.add_series_modal
.as_ref()
.unwrap()
.monitor_list
.items
.is_empty()
);
assert!(
!app
.data
.sonarr_data
.add_series_modal
.as_ref()
.unwrap()
.series_type_list
.items
.is_empty()
);
assert!(
!app
.data
.sonarr_data
.add_series_modal
.as_ref()
.unwrap()
.quality_profile_list
.items
.is_empty()
);
assert_str_eq!(
app
.data
@@ -1106,7 +1112,7 @@ mod tests {
.handle();
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
}
#[test]
@@ -1222,7 +1228,7 @@ mod tests {
.handle();
assert_navigation_pushed!(app, selected_block.into());
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
if selected_block == ActiveSonarrBlock::AddSeriesTagsInput {
assert!(app.ignore_special_keys_for_textbox_input);
@@ -1311,7 +1317,6 @@ mod tests {
}
mod test_handle_esc {
use pretty_assertions::assert_eq;
use rstest::rstest;
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
@@ -1342,7 +1347,7 @@ mod tests {
assert!(!app.ignore_special_keys_for_textbox_input);
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
assert_eq!(app.data.sonarr_data.add_series_search, None);
assert_none!(app.data.sonarr_data.add_series_search);
}
#[test]
@@ -1475,8 +1480,8 @@ mod tests {
use crate::{
assert_navigation_popped,
models::{
servarr_data::sonarr::{modals::AddSeriesModal, sonarr_data::ADD_SERIES_SELECTION_BLOCKS},
BlockSelectionState,
servarr_data::sonarr::{modals::AddSeriesModal, sonarr_data::ADD_SERIES_SELECTION_BLOCKS},
},
network::sonarr_network::SonarrEvent,
};
@@ -4,12 +4,12 @@ mod tests {
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::app::App;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::event::Key;
use crate::handlers::KeyEventHandler;
use crate::handlers::sonarr_handlers::library::delete_series_handler::DeleteSeriesHandler;
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
use crate::handlers::KeyEventHandler;
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DELETE_SERIES_BLOCKS};
use crate::models::sonarr_models::DeleteSeriesParams;
@@ -17,8 +17,8 @@ mod tests {
use pretty_assertions::assert_eq;
use rstest::rstest;
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
use crate::models::BlockSelectionState;
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
use super::*;
@@ -86,8 +86,8 @@ mod tests {
mod test_handle_submit {
use pretty_assertions::assert_eq;
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
use crate::models::BlockSelectionState;
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
use crate::network::sonarr_network::SonarrEvent;
use super::*;
@@ -119,7 +119,7 @@ mod tests {
.handle();
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
assert!(!app.data.sonarr_data.prompt_confirm);
assert!(!app.data.sonarr_data.delete_series_files);
assert!(!app.data.sonarr_data.add_list_exclusion);
@@ -188,7 +188,7 @@ mod tests {
app.get_current_route(),
ActiveSonarrBlock::DeleteSeriesPrompt.into()
);
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
assert!(!app.should_refresh);
assert!(app.data.sonarr_data.prompt_confirm);
assert!(app.data.sonarr_data.delete_series_files);
@@ -263,7 +263,7 @@ mod tests {
use crate::{
assert_navigation_popped,
models::{
servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS, BlockSelectionState,
BlockSelectionState, servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS,
},
network::sonarr_network::SonarrEvent,
};
@@ -5,14 +5,14 @@ mod tests {
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::app::App;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::assert_modal_absent;
use crate::assert_navigation_pushed;
use crate::event::Key;
use crate::handlers::KeyEventHandler;
use crate::handlers::sonarr_handlers::library::edit_series_handler::EditSeriesHandler;
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
use crate::handlers::KeyEventHandler;
use crate::models::servarr_data::sonarr::modals::EditSeriesModal;
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_SERIES_BLOCKS};
use crate::models::sonarr_models::{EditSeriesParams, Series, SeriesType};
@@ -22,9 +22,9 @@ mod tests {
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::models::BlockSelectionState;
use crate::models::servarr_data::sonarr::modals::EditSeriesModal;
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_SERIES_SELECTION_BLOCKS;
use crate::models::BlockSelectionState;
use super::*;
@@ -698,15 +698,17 @@ mod tests {
.handle();
assert!(!app.ignore_special_keys_for_textbox_input);
assert!(!app
.data
.sonarr_data
.edit_series_modal
.as_ref()
.unwrap()
.path
.text
.is_empty());
assert!(
!app
.data
.sonarr_data
.edit_series_modal
.as_ref()
.unwrap()
.path
.text
.is_empty()
);
assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into());
}
@@ -731,15 +733,17 @@ mod tests {
.handle();
assert!(!app.ignore_special_keys_for_textbox_input);
assert!(!app
.data
.sonarr_data
.edit_series_modal
.as_mut()
.unwrap()
.tags
.text
.is_empty());
assert!(
!app
.data
.sonarr_data
.edit_series_modal
.as_mut()
.unwrap()
.tags
.text
.is_empty()
);
assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into());
}
@@ -765,7 +769,7 @@ mod tests {
.handle();
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
}
#[test]
@@ -856,7 +860,7 @@ mod tests {
app.get_current_route(),
ActiveSonarrBlock::EditSeriesPrompt.into()
);
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
assert!(!app.should_refresh);
}
@@ -881,7 +885,7 @@ mod tests {
.handle();
assert_eq!(app.get_current_route(), current_route);
assert_eq!(
assert_some_eq_x!(
app
.data
.sonarr_data
@@ -889,7 +893,7 @@ mod tests {
.as_ref()
.unwrap()
.monitored,
Some(true)
true
);
EditSeriesHandler::new(
@@ -901,7 +905,7 @@ mod tests {
.handle();
assert_eq!(app.get_current_route(), current_route);
assert_eq!(
assert_some_eq_x!(
app
.data
.sonarr_data
@@ -909,7 +913,7 @@ mod tests {
.as_ref()
.unwrap()
.monitored,
Some(false)
false
);
}
@@ -935,7 +939,7 @@ mod tests {
.handle();
assert_eq!(app.get_current_route(), current_route);
assert_eq!(
assert_some_eq_x!(
app
.data
.sonarr_data
@@ -943,7 +947,7 @@ mod tests {
.as_ref()
.unwrap()
.use_season_folders,
Some(true)
true
);
EditSeriesHandler::new(
@@ -955,7 +959,7 @@ mod tests {
.handle();
assert_eq!(app.get_current_route(), current_route);
assert_eq!(
assert_some_eq_x!(
app
.data
.sonarr_data
@@ -963,7 +967,7 @@ mod tests {
.as_ref()
.unwrap()
.use_season_folders,
Some(false)
false
);
}
@@ -1002,7 +1006,7 @@ mod tests {
app,
(selected_block, Some(ActiveSonarrBlock::Series)).into()
);
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
if selected_block == ActiveSonarrBlock::EditSeriesPathInput
|| selected_block == ActiveSonarrBlock::EditSeriesTagsInput
@@ -1045,7 +1049,7 @@ mod tests {
)
.into()
);
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
assert!(!app.ignore_special_keys_for_textbox_input);
}
@@ -1158,10 +1162,10 @@ mod tests {
use crate::{
assert_navigation_popped,
models::{
BlockSelectionState,
servarr_data::sonarr::{
modals::EditSeriesModal, sonarr_data::EDIT_SERIES_SELECTION_BLOCKS,
},
BlockSelectionState,
},
network::sonarr_network::SonarrEvent,
};
@@ -1,11 +1,11 @@
#[cfg(test)]
mod tests {
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::app::App;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::assert_navigation_pushed;
use crate::handlers::KeyEventHandler;
use crate::handlers::sonarr_handlers::library::episode_details_handler::EpisodeDetailsHandler;
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::episode;
use crate::handlers::KeyEventHandler;
use crate::models::servarr_data::sonarr::modals::{EpisodeDetailsModal, SeasonDetailsModal};
use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data;
use crate::models::servarr_data::sonarr::sonarr_data::{
@@ -238,9 +238,9 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_pushed!(app, active_sonarr_block.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(expected_action)
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&expected_action
);
}
@@ -262,14 +262,14 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
guid: String::new(),
indexer_id: 0,
episode_id: Some(0),
..SonarrReleaseDownloadBody::default()
}))
})
);
}
@@ -290,7 +290,7 @@ mod tests {
assert!(!app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::EpisodeDetails.into());
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
}
#[test]
@@ -400,14 +400,15 @@ mod tests {
EpisodeDetailsHandler::new(ESC_KEY, &mut app, active_sonarr_block, None).handle();
assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into());
assert!(app
.data
.sonarr_data
.season_details_modal
.as_ref()
.unwrap()
.episode_details_modal
.is_none());
assert_none!(
app
.data
.sonarr_data
.season_details_modal
.as_ref()
.unwrap()
.episode_details_modal
);
}
}
@@ -560,9 +561,9 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, active_sonarr_block.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::TriggerAutomaticEpisodeSearch(1))
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::TriggerAutomaticEpisodeSearch(1)
);
}
@@ -584,14 +585,14 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
guid: String::new(),
indexer_id: 0,
episode_id: Some(0),
..SonarrReleaseDownloadBody::default()
}))
})
);
}
}
@@ -5,17 +5,17 @@ mod tests {
use std::cmp::Ordering;
use strum::IntoEnumIterator;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::app::App;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
use crate::assert_modal_absent;
use crate::assert_modal_present;
use crate::assert_navigation_pushed;
use crate::event::Key;
use crate::handlers::sonarr_handlers::library::{series_sorting_options, LibraryHandler};
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
use crate::handlers::KeyEventHandler;
use crate::handlers::sonarr_handlers::library::{LibraryHandler, series_sorting_options};
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
use crate::models::servarr_data::sonarr::sonarr_data::{
ActiveSonarrBlock, ADD_SERIES_BLOCKS, DELETE_SERIES_BLOCKS, EDIT_SERIES_BLOCKS,
ADD_SERIES_BLOCKS, ActiveSonarrBlock, DELETE_SERIES_BLOCKS, EDIT_SERIES_BLOCKS,
EPISODE_DETAILS_BLOCKS, LIBRARY_BLOCKS, SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS,
};
use crate::models::sonarr_models::{Series, SeriesStatistics, SeriesStatus, SeriesType};
@@ -207,9 +207,9 @@ mod tests {
.handle();
assert!(app.data.sonarr_data.prompt_confirm);
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::UpdateAllSeries)
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::UpdateAllSeries
);
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
}
@@ -234,7 +234,7 @@ mod tests {
.handle();
assert!(!app.data.sonarr_data.prompt_confirm);
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
}
}
@@ -279,7 +279,7 @@ mod tests {
LibraryHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Series, None).handle();
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
assert!(app.error.text.is_empty());
assert_is_empty!(app.error.text);
}
}
@@ -288,8 +288,8 @@ mod tests {
use serde_json::Number;
use strum::IntoEnumIterator;
use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data;
use crate::models::servarr_data::sonarr::sonarr_data::SonarrData;
use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data;
use crate::models::sonarr_models::SeriesType;
use crate::network::sonarr_network::SonarrEvent;
@@ -393,9 +393,9 @@ mod tests {
assert_eq!(app.get_current_route(), ActiveSonarrBlock::Series.into());
assert!(app.data.sonarr_data.prompt_confirm);
assert!(app.is_routing);
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::ToggleSeriesMonitoring(0))
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::ToggleSeriesMonitoring(0)
);
}
@@ -527,9 +527,9 @@ mod tests {
.handle();
assert!(app.data.sonarr_data.prompt_confirm);
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::UpdateAllSeries)
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::UpdateAllSeries
);
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
}
@@ -290,9 +290,9 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, active_sonarr_block.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(expected_action)
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&expected_action
);
}
@@ -314,15 +314,15 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
guid: String::new(),
indexer_id: 0,
series_id: Some(0),
season_number: Some(0),
..SonarrReleaseDownloadBody::default()
}))
})
);
}
@@ -344,7 +344,7 @@ mod tests {
assert!(!app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into());
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
}
#[test]
@@ -468,7 +468,7 @@ mod tests {
app.get_current_route(),
ActiveSonarrBlock::SeasonHistory.into()
);
assert!(
assert_none!(
app
.data
.sonarr_data
@@ -477,9 +477,8 @@ mod tests {
.unwrap()
.season_history
.filter
.is_none()
);
assert!(
assert_none!(
app
.data
.sonarr_data
@@ -488,9 +487,8 @@ mod tests {
.unwrap()
.season_history
.filtered_items
.is_none()
);
assert!(
assert_none!(
app
.data
.sonarr_data
@@ -499,7 +497,6 @@ mod tests {
.unwrap()
.season_history
.filtered_state
.is_none()
);
}
@@ -560,9 +557,9 @@ mod tests {
);
assert!(app.data.sonarr_data.prompt_confirm);
assert!(app.is_routing);
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::ToggleEpisodeMonitoring(1))
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::ToggleEpisodeMonitoring(1)
);
}
@@ -725,9 +722,9 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, active_sonarr_block.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(expected_action)
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&expected_action
);
}
@@ -749,15 +746,15 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
guid: String::new(),
indexer_id: 0,
series_id: Some(0),
season_number: Some(0),
..SonarrReleaseDownloadBody::default()
}))
})
);
}
}
@@ -197,9 +197,9 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(expected_action)
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&expected_action
);
}
@@ -219,7 +219,7 @@ mod tests {
assert!(!app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into());
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
assert_none!(app.data.sonarr_data.prompt_confirm_action);
}
}
@@ -289,17 +289,8 @@ mod tests {
app.get_current_route(),
ActiveSonarrBlock::SeriesHistory.into()
);
assert!(
app
.data
.sonarr_data
.series_history
.as_ref()
.unwrap()
.filter
.is_none()
);
assert!(
assert_none!(app.data.sonarr_data.series_history.as_ref().unwrap().filter);
assert_none!(
app
.data
.sonarr_data
@@ -307,9 +298,8 @@ mod tests {
.as_ref()
.unwrap()
.filtered_items
.is_none()
);
assert!(
assert_none!(
app
.data
.sonarr_data
@@ -317,7 +307,6 @@ mod tests {
.as_ref()
.unwrap()
.filtered_state
.is_none()
);
}
}
@@ -387,9 +376,9 @@ mod tests {
);
assert!(app.data.sonarr_data.prompt_confirm);
assert!(app.is_routing);
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(SonarrEvent::ToggleSeasonMonitoring((0, 0)))
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&SonarrEvent::ToggleSeasonMonitoring((0, 0))
);
}
@@ -581,9 +570,9 @@ mod tests {
assert!(app.data.sonarr_data.prompt_confirm);
assert_navigation_popped!(app, active_sonarr_block.into());
assert_eq!(
app.data.sonarr_data.prompt_confirm_action,
Some(expected_action)
assert_some_eq_x!(
&app.data.sonarr_data.prompt_confirm_action,
&expected_action
);
}
}