Added tests for the movie_details handler and created some more test utilities and macros
This commit is contained in:
+109
-66
@@ -395,54 +395,20 @@ impl App {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod radarr_data_tests {
|
||||
use pretty_assertions::assert_eq;
|
||||
#[macro_use]
|
||||
pub mod radarr_test_utils {
|
||||
use crate::app::radarr::RadarrData;
|
||||
use crate::models::radarr_models::{
|
||||
AddMovieSearchResult, Collection, CollectionMovie, Credit, MinimumAvailability, Monitor, Movie,
|
||||
MovieHistoryItem, Release,
|
||||
};
|
||||
use crate::models::ScrollableText;
|
||||
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_reset_movie_collection_table() {
|
||||
let mut radarr_data = RadarrData::default();
|
||||
radarr_data
|
||||
.collection_movies
|
||||
.set_items(vec![CollectionMovie::default()]);
|
||||
|
||||
radarr_data.reset_movie_collection_table();
|
||||
|
||||
assert!(radarr_data.collection_movies.items.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_reset_search() {
|
||||
pub fn create_test_radarr_data() -> RadarrData {
|
||||
let mut radarr_data = RadarrData {
|
||||
is_searching: true,
|
||||
search: "test search".to_owned(),
|
||||
filter: "test filter".to_owned(),
|
||||
..RadarrData::default()
|
||||
};
|
||||
radarr_data
|
||||
.filtered_movies
|
||||
.set_items(vec![Movie::default()]);
|
||||
radarr_data
|
||||
.filtered_collections
|
||||
.set_items(vec![Collection::default()]);
|
||||
radarr_data
|
||||
.add_searched_movies
|
||||
.set_items(vec![AddMovieSearchResult::default()]);
|
||||
|
||||
radarr_data.reset_search();
|
||||
|
||||
assert!(!radarr_data.is_searching);
|
||||
assert!(radarr_data.search.is_empty());
|
||||
assert!(radarr_data.filter.is_empty());
|
||||
assert!(radarr_data.filtered_movies.items.is_empty());
|
||||
assert!(radarr_data.filtered_collections.items.is_empty());
|
||||
assert!(radarr_data.add_searched_movies.items.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_reset_movie_info_tabs() {
|
||||
let mut radarr_data = RadarrData {
|
||||
file_details: "test file details".to_owned(),
|
||||
audio_details: "test audio details".to_owned(),
|
||||
video_details: "test video details".to_owned(),
|
||||
@@ -458,23 +424,6 @@ mod radarr_data_tests {
|
||||
.movie_releases
|
||||
.set_items(vec![Release::default()]);
|
||||
radarr_data.movie_info_tabs.index = 1;
|
||||
|
||||
radarr_data.reset_movie_info_tabs();
|
||||
|
||||
assert!(radarr_data.file_details.is_empty());
|
||||
assert!(radarr_data.audio_details.is_empty());
|
||||
assert!(radarr_data.video_details.is_empty());
|
||||
assert!(radarr_data.movie_details.get_text().is_empty());
|
||||
assert!(radarr_data.movie_history.items.is_empty());
|
||||
assert!(radarr_data.movie_cast.items.is_empty());
|
||||
assert!(radarr_data.movie_crew.items.is_empty());
|
||||
assert!(radarr_data.movie_releases.items.is_empty());
|
||||
assert_eq!(radarr_data.movie_info_tabs.index, 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_reset_add_movie_selections() {
|
||||
let mut radarr_data = RadarrData::default();
|
||||
radarr_data
|
||||
.add_movie_monitor_list
|
||||
.set_items(vec![Monitor::default()]);
|
||||
@@ -484,15 +433,109 @@ mod radarr_data_tests {
|
||||
radarr_data
|
||||
.add_movie_quality_profile_list
|
||||
.set_items(vec![String::default()]);
|
||||
radarr_data
|
||||
.filtered_movies
|
||||
.set_items(vec![Movie::default()]);
|
||||
radarr_data
|
||||
.filtered_collections
|
||||
.set_items(vec![Collection::default()]);
|
||||
radarr_data
|
||||
.add_searched_movies
|
||||
.set_items(vec![AddMovieSearchResult::default()]);
|
||||
radarr_data
|
||||
.collection_movies
|
||||
.set_items(vec![CollectionMovie::default()]);
|
||||
|
||||
radarr_data
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! assert_movie_collection_table_reset {
|
||||
($radarr_data:expr) => {
|
||||
assert!($radarr_data.collection_movies.items.is_empty());
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! assert_search_reset {
|
||||
($radarr_data:expr) => {
|
||||
assert!(!$radarr_data.is_searching);
|
||||
assert!($radarr_data.search.is_empty());
|
||||
assert!($radarr_data.filter.is_empty());
|
||||
assert!($radarr_data.filtered_movies.items.is_empty());
|
||||
assert!($radarr_data.filtered_collections.items.is_empty());
|
||||
assert!($radarr_data.add_searched_movies.items.is_empty());
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! assert_movie_info_tabs_reset {
|
||||
($radarr_data:expr) => {
|
||||
assert!($radarr_data.file_details.is_empty());
|
||||
assert!($radarr_data.audio_details.is_empty());
|
||||
assert!($radarr_data.video_details.is_empty());
|
||||
assert!($radarr_data.movie_details.get_text().is_empty());
|
||||
assert!($radarr_data.movie_history.items.is_empty());
|
||||
assert!($radarr_data.movie_cast.items.is_empty());
|
||||
assert!($radarr_data.movie_crew.items.is_empty());
|
||||
assert!($radarr_data.movie_releases.items.is_empty());
|
||||
assert_eq!($radarr_data.movie_info_tabs.index, 0);
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! assert_add_movie_selections_reset {
|
||||
($radarr_data:expr) => {
|
||||
assert!($radarr_data.add_movie_monitor_list.items.is_empty());
|
||||
assert!($radarr_data
|
||||
.add_movie_minimum_availability_list
|
||||
.items
|
||||
.is_empty());
|
||||
assert!($radarr_data.add_movie_quality_profile_list.items.is_empty());
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod radarr_data_tests {
|
||||
use pretty_assertions::assert_eq;
|
||||
|
||||
use crate::app::radarr::radarr_test_utils::create_test_radarr_data;
|
||||
|
||||
#[test]
|
||||
fn test_reset_movie_collection_table() {
|
||||
let mut radarr_data = create_test_radarr_data();
|
||||
|
||||
radarr_data.reset_movie_collection_table();
|
||||
|
||||
assert_movie_collection_table_reset!(radarr_data);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_reset_search() {
|
||||
let mut radarr_data = create_test_radarr_data();
|
||||
|
||||
radarr_data.reset_search();
|
||||
|
||||
assert_search_reset!(radarr_data);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_reset_movie_info_tabs() {
|
||||
let mut radarr_data = create_test_radarr_data();
|
||||
|
||||
radarr_data.reset_movie_info_tabs();
|
||||
|
||||
assert_movie_info_tabs_reset!(radarr_data);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_reset_add_movie_selections() {
|
||||
let mut radarr_data = create_test_radarr_data();
|
||||
|
||||
radarr_data.reset_add_movie_selections();
|
||||
|
||||
assert!(radarr_data.add_movie_monitor_list.items.is_empty());
|
||||
assert!(radarr_data
|
||||
.add_movie_minimum_availability_list
|
||||
.items
|
||||
.is_empty());
|
||||
assert!(radarr_data.add_movie_quality_profile_list.items.is_empty());
|
||||
assert_add_movie_selections_reset!(radarr_data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user