fix(add_movie_handler_tests): Added in a forgotten test for the build_add_movie_body function
This commit is contained in:
@@ -1,17 +1,24 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::add_movie_search_result;
|
||||||
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use pretty_assertions::assert_str_eq;
|
use pretty_assertions::assert_str_eq;
|
||||||
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::library::add_movie_handler::AddMovieHandler;
|
use crate::handlers::radarr_handlers::library::add_movie_handler::AddMovieHandler;
|
||||||
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::add_movie_body;
|
||||||
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection_movie;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::models::radarr_models::{AddMovieSearchResult, MinimumAvailability, MovieMonitor};
|
use crate::models::radarr_models::{AddMovieSearchResult, MinimumAvailability, MovieMonitor};
|
||||||
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ADD_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ADD_MOVIE_BLOCKS};
|
||||||
use crate::models::servarr_models::RootFolder;
|
use crate::models::servarr_models::RootFolder;
|
||||||
use crate::models::HorizontallyScrollableText;
|
use crate::models::HorizontallyScrollableText;
|
||||||
|
use bimap::BiMap;
|
||||||
|
|
||||||
mod test_handle_scroll_up_and_down {
|
mod test_handle_scroll_up_and_down {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
@@ -1516,6 +1523,66 @@ mod tests {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[rstest]
|
||||||
|
fn test_build_add_movie_body(#[values(true, false)] movie_details_context: bool) {
|
||||||
|
let mut app = App::default();
|
||||||
|
let mut add_movie_modal = AddMovieModal {
|
||||||
|
tags: "usenet, testing".into(),
|
||||||
|
..AddMovieModal::default()
|
||||||
|
};
|
||||||
|
add_movie_modal.root_folder_list.set_items(vec![
|
||||||
|
RootFolder {
|
||||||
|
id: 1,
|
||||||
|
path: "/nfs".to_owned(),
|
||||||
|
accessible: true,
|
||||||
|
free_space: 219902325555200,
|
||||||
|
unmapped_folders: None,
|
||||||
|
},
|
||||||
|
RootFolder {
|
||||||
|
id: 2,
|
||||||
|
path: "/nfs2".to_owned(),
|
||||||
|
accessible: true,
|
||||||
|
free_space: 21990232555520,
|
||||||
|
unmapped_folders: None,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
add_movie_modal.root_folder_list.state.select(Some(1));
|
||||||
|
add_movie_modal
|
||||||
|
.quality_profile_list
|
||||||
|
.set_items(vec!["HD - 1080p".to_owned()]);
|
||||||
|
add_movie_modal
|
||||||
|
.monitor_list
|
||||||
|
.set_items(Vec::from_iter(MovieMonitor::iter()));
|
||||||
|
add_movie_modal
|
||||||
|
.minimum_availability_list
|
||||||
|
.set_items(Vec::from_iter(MinimumAvailability::iter()));
|
||||||
|
app.data.radarr_data.add_movie_modal = Some(add_movie_modal);
|
||||||
|
app.data.radarr_data.quality_profile_map = BiMap::from_iter([(2222, "HD - 1080p".to_owned())]);
|
||||||
|
let context = if movie_details_context {
|
||||||
|
app
|
||||||
|
.data
|
||||||
|
.radarr_data
|
||||||
|
.collection_movies
|
||||||
|
.set_items(vec![collection_movie()]);
|
||||||
|
Some(ActiveRadarrBlock::CollectionDetails)
|
||||||
|
} else {
|
||||||
|
let mut add_searched_movies = StatefulTable::default();
|
||||||
|
add_searched_movies.set_items(vec![add_movie_search_result()]);
|
||||||
|
app.data.radarr_data.add_searched_movies = Some(add_searched_movies);
|
||||||
|
None
|
||||||
|
};
|
||||||
|
|
||||||
|
let actual_add_movie_body = AddMovieHandler::with(
|
||||||
|
DEFAULT_KEYBINDINGS.confirm.key,
|
||||||
|
&mut app,
|
||||||
|
ActiveRadarrBlock::AddMoviePrompt,
|
||||||
|
context,
|
||||||
|
)
|
||||||
|
.build_add_movie_body();
|
||||||
|
|
||||||
|
assert_eq!(actual_add_movie_body, add_movie_body());
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_add_movie_handler_is_not_ready_when_loading() {
|
fn test_add_movie_handler_is_not_ready_when_loading() {
|
||||||
let mut app = App::default();
|
let mut app = App::default();
|
||||||
|
|||||||
Reference in New Issue
Block a user