refactor: Created dedicated proptests and assertions to clean up the handler unit tests
This commit is contained in:
@@ -7,6 +7,8 @@ mod tests {
|
||||
|
||||
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::radarr_handlers::library::edit_movie_handler::EditMovieHandler;
|
||||
@@ -534,13 +536,13 @@ mod tests {
|
||||
}
|
||||
|
||||
mod test_handle_submit {
|
||||
use pretty_assertions::assert_eq;
|
||||
use rstest::rstest;
|
||||
|
||||
use crate::assert_navigation_popped;
|
||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_MOVIE_SELECTION_BLOCKS;
|
||||
use crate::models::{BlockSelectionState, Route};
|
||||
use crate::network::radarr_network::RadarrEvent;
|
||||
use pretty_assertions::assert_eq;
|
||||
use rstest::rstest;
|
||||
|
||||
use super::*;
|
||||
|
||||
@@ -577,10 +579,7 @@ mod tests {
|
||||
.text
|
||||
.is_empty()
|
||||
);
|
||||
assert_eq!(
|
||||
app.get_current_route(),
|
||||
ActiveRadarrBlock::EditMoviePrompt.into()
|
||||
);
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -614,10 +613,7 @@ mod tests {
|
||||
.text
|
||||
.is_empty()
|
||||
);
|
||||
assert_eq!(
|
||||
app.get_current_route(),
|
||||
ActiveRadarrBlock::EditMoviePrompt.into()
|
||||
);
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -641,7 +637,7 @@ mod tests {
|
||||
)
|
||||
.handle();
|
||||
|
||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
||||
}
|
||||
|
||||
@@ -694,12 +690,12 @@ mod tests {
|
||||
)
|
||||
.handle();
|
||||
|
||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||
assert_eq!(
|
||||
app.data.radarr_data.prompt_confirm_action,
|
||||
Some(RadarrEvent::EditMovie(expected_edit_movie_params))
|
||||
);
|
||||
assert!(app.data.radarr_data.edit_movie_modal.is_none());
|
||||
assert_modal_absent!(app.data.radarr_data.edit_movie_modal);
|
||||
assert!(app.should_refresh);
|
||||
}
|
||||
|
||||
@@ -809,8 +805,8 @@ mod tests {
|
||||
)
|
||||
.handle();
|
||||
|
||||
assert_eq!(
|
||||
app.get_current_route(),
|
||||
assert_navigation_pushed!(
|
||||
app,
|
||||
(selected_block, Some(ActiveRadarrBlock::Movies)).into()
|
||||
);
|
||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
||||
@@ -882,10 +878,7 @@ mod tests {
|
||||
)
|
||||
.handle();
|
||||
|
||||
assert_eq!(
|
||||
app.get_current_route(),
|
||||
ActiveRadarrBlock::EditMoviePrompt.into()
|
||||
);
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
||||
|
||||
if active_radarr_block == ActiveRadarrBlock::EditMoviePathInput
|
||||
|| active_radarr_block == ActiveRadarrBlock::EditMovieTagsInput
|
||||
@@ -896,11 +889,11 @@ mod tests {
|
||||
}
|
||||
|
||||
mod test_handle_esc {
|
||||
use pretty_assertions::assert_eq;
|
||||
use rstest::rstest;
|
||||
|
||||
use crate::assert_navigation_popped;
|
||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||
use pretty_assertions::assert_eq;
|
||||
use rstest::rstest;
|
||||
|
||||
use super::*;
|
||||
|
||||
@@ -923,10 +916,7 @@ mod tests {
|
||||
EditMovieHandler::new(ESC_KEY, &mut app, active_radarr_block, None).handle();
|
||||
|
||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||
assert_eq!(
|
||||
app.get_current_route(),
|
||||
ActiveRadarrBlock::EditMoviePrompt.into()
|
||||
);
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -938,9 +928,9 @@ mod tests {
|
||||
|
||||
EditMovieHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::EditMoviePrompt, None).handle();
|
||||
|
||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||
|
||||
assert!(app.data.radarr_data.edit_movie_modal.is_none());
|
||||
assert_modal_absent!(app.data.radarr_data.edit_movie_modal);
|
||||
assert!(!app.data.radarr_data.prompt_confirm);
|
||||
}
|
||||
|
||||
@@ -960,13 +950,14 @@ mod tests {
|
||||
|
||||
EditMovieHandler::new(ESC_KEY, &mut app, active_radarr_block, None).handle();
|
||||
|
||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||
}
|
||||
}
|
||||
|
||||
mod test_handle_key_char {
|
||||
use super::*;
|
||||
use crate::{
|
||||
assert_navigation_popped,
|
||||
models::{
|
||||
BlockSelectionState,
|
||||
servarr_data::radarr::{modals::EditMovieModal, radarr_data::EDIT_MOVIE_SELECTION_BLOCKS},
|
||||
@@ -1132,12 +1123,12 @@ mod tests {
|
||||
)
|
||||
.handle();
|
||||
|
||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||
assert_eq!(
|
||||
app.data.radarr_data.prompt_confirm_action,
|
||||
Some(RadarrEvent::EditMovie(expected_edit_movie_params))
|
||||
);
|
||||
assert!(app.data.radarr_data.edit_movie_modal.is_none());
|
||||
assert_modal_absent!(app.data.radarr_data.edit_movie_modal);
|
||||
assert!(app.should_refresh);
|
||||
}
|
||||
}
|
||||
@@ -1213,7 +1204,7 @@ mod tests {
|
||||
.build_edit_movie_params();
|
||||
|
||||
assert_eq!(edit_movie_params, expected_edit_movie_params);
|
||||
assert!(app.data.radarr_data.edit_movie_modal.is_none());
|
||||
assert_modal_absent!(app.data.radarr_data.edit_movie_modal);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user