diff --git a/src/handlers/handlers_tests.rs b/src/handlers/handlers_tests.rs index cf96c8a..c436db9 100644 --- a/src/handlers/handlers_tests.rs +++ b/src/handlers/handlers_tests.rs @@ -174,6 +174,26 @@ mod tests { ); } + #[test] + fn test_handle_clear_notification() { + let mut app = App::test_default(); + app.notification = Some(Notification::new( + "Test".to_owned(), + "Test".to_owned(), + true, + )); + app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); + app.push_navigation_stack(ActiveRadarrBlock::MovieDetails.into()); + + handle_events(DEFAULT_KEYBINDINGS.esc.key, &mut app); + + assert_none!(app.notification); + assert_eq!( + app.get_current_route(), + ActiveRadarrBlock::MovieDetails.into() + ); + } + #[rstest] fn test_handle_prompt_toggle_left_right_radarr(#[values(Key::Left, Key::Right)] key: Key) { let mut app = App::test_default(); diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index 6c841f4..375959c 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -2,11 +2,11 @@ use lidarr_handlers::LidarrHandler; use radarr_handlers::RadarrHandler; use sonarr_handlers::SonarrHandler; +use crate::app::App; use crate::app::context_clues::{ - ContextClueProvider, ServarrContextClueProvider, SERVARR_CONTEXT_CLUES, + ContextClueProvider, SERVARR_CONTEXT_CLUES, ServarrContextClueProvider, }; use crate::app::key_binding::KeyBinding; -use crate::app::App; use crate::event::Key; use crate::handlers::keybinding_handler::KeybindingHandler; use crate::matches_key; @@ -116,7 +116,8 @@ pub fn handle_events(key: Key, app: &mut App<'_>) { } else { app.keymapping_table = None; } - } else if matches_key!(esc, key) && handle_clear_notification(app) { + } else if matches_key!(esc, key) && app.notification.is_some() { + app.notification.take(); } else { match app.get_current_route() { _ if app.keymapping_table.is_some() => { @@ -184,10 +185,6 @@ fn handle_clear_errors(app: &mut App<'_>) { } } -fn handle_clear_notification(app: &mut App<'_>) -> bool { - app.notification.take().is_some() -} - fn handle_prompt_toggle(app: &mut App<'_>, key: Key) { match key { _ if matches_key!(left, key) || matches_key!(right, key) => match app.get_current_route() { diff --git a/src/network/lidarr_network/library/lidarr_library_network_tests.rs b/src/network/lidarr_network/library/lidarr_library_network_tests.rs index 2ae68da..333d8a6 100644 --- a/src/network/lidarr_network/library/lidarr_library_network_tests.rs +++ b/src/network/lidarr_network/library/lidarr_library_network_tests.rs @@ -3,7 +3,7 @@ mod tests { use crate::models::lidarr_models::LidarrReleaseDownloadBody; use crate::models::servarr_data::Notification; use crate::network::lidarr_network::LidarrEvent; - use crate::network::network_tests::test_utils::{test_network, MockServarrApi}; + use crate::network::network_tests::test_utils::{MockServarrApi, test_network}; use pretty_assertions::assert_eq; use serde_json::json; diff --git a/src/network/sonarr_network/library/sonarr_library_network_tests.rs b/src/network/sonarr_network/library/sonarr_library_network_tests.rs index 08484df..f777c65 100644 --- a/src/network/sonarr_network/library/sonarr_library_network_tests.rs +++ b/src/network/sonarr_network/library/sonarr_library_network_tests.rs @@ -2,7 +2,7 @@ mod tests { use crate::models::servarr_data::Notification; use crate::models::sonarr_models::SonarrReleaseDownloadBody; - use crate::network::network_tests::test_utils::{test_network, MockServarrApi}; + use crate::network::network_tests::test_utils::{MockServarrApi, test_network}; use crate::network::sonarr_network::SonarrEvent; use pretty_assertions::assert_eq; use serde_json::json;