test(radarr): pin table search, filter and selection behaviour
Radarr handler tests never asserted which block the search and filter keys push, so transposing searching_block and filtering_block in a TableHandlingConfig went undetected. Add a search key and a filter key test for each of the three handlers that configure them: library, collections and history. No test moved a table or list selection off index 0 either, which made current_selection() and items[0] indistinguishable. Select a non-zero index in the tests covering every handler that reads a selected row, enriching fixtures with a second, distinct entry where only one existed. Several fixtures also asserted against a default value, so the expected result was indistinguishable from an unset field. The system details tasks now use two distinct non-default task names, and the add movie body expects a non-default monitor and minimum availability.
This commit is contained in:
16 files changed
+481
-133
No files matched your search
@@ -17,7 +17,7 @@ mod tests {
|
||||
MovieDetailsHandler, releases_sorting_options,
|
||||
};
|
||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{movie, release};
|
||||
use crate::models::radarr_models::{Credit, MovieHistoryItem};
|
||||
use crate::models::radarr_models::{Credit, Movie, MovieHistoryItem};
|
||||
use crate::models::radarr_models::{RadarrRelease, RadarrReleaseDownloadBody};
|
||||
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, MOVIE_DETAILS_BLOCKS};
|
||||
@@ -819,11 +819,22 @@ mod tests {
|
||||
fn test_build_radarr_release_download_body() {
|
||||
let mut app = App::test_default();
|
||||
let mut movie_details_modal = MovieDetailsModal::default();
|
||||
movie_details_modal
|
||||
.movie_releases
|
||||
.set_items(vec![release()]);
|
||||
movie_details_modal.movie_releases.set_items(vec![
|
||||
RadarrRelease {
|
||||
guid: "9999".to_owned(),
|
||||
indexer_id: 99,
|
||||
..release()
|
||||
},
|
||||
release(),
|
||||
]);
|
||||
movie_details_modal.movie_releases.select_index(Some(1));
|
||||
app.data.radarr_data.movie_details_modal = Some(movie_details_modal);
|
||||
app.data.radarr_data.movies.set_items(vec![movie()]);
|
||||
app
|
||||
.data
|
||||
.radarr_data
|
||||
.movies
|
||||
.set_items(vec![Movie { id: 999, ..movie() }, movie()]);
|
||||
app.data.radarr_data.movies.select_index(Some(1));
|
||||
let expected_body = RadarrReleaseDownloadBody {
|
||||
guid: "1234".to_owned(),
|
||||
indexer_id: 2,
|
||||
@@ -844,7 +855,12 @@ mod tests {
|
||||
#[test]
|
||||
fn test_extract_movie_id() {
|
||||
let mut app = App::test_default();
|
||||
app.data.radarr_data.movies.set_items(vec![movie()]);
|
||||
app
|
||||
.data
|
||||
.radarr_data
|
||||
.movies
|
||||
.set_items(vec![Movie { id: 999, ..movie() }, movie()]);
|
||||
app.data.radarr_data.movies.select_index(Some(1));
|
||||
|
||||
let movie_id = MovieDetailsHandler::new(
|
||||
DEFAULT_KEYBINDINGS.esc.key,
|
||||
|
||||
Reference in new issue
Block a user