refactor: Updated all handler tests to use purpose built assertions to improve readability and maintainability
This commit is contained in:
@@ -33,7 +33,7 @@ mod tests {
|
|||||||
|
|
||||||
handle_clear_errors(&mut app);
|
handle_clear_errors(&mut app);
|
||||||
|
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::KeybindingHandler;
|
use crate::handlers::KeybindingHandler;
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::blocklist::{blocklist_sorting_options, BlocklistHandler};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::blocklist::{BlocklistHandler, blocklist_sorting_options};
|
||||||
use crate::models::radarr_models::{BlocklistItem, BlocklistItemMovie};
|
use crate::models::radarr_models::{BlocklistItem, BlocklistItemMovie};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, BLOCKLIST_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, BLOCKLIST_BLOCKS};
|
||||||
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
||||||
@@ -198,7 +198,7 @@ mod tests {
|
|||||||
BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Blocklist.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Blocklist.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::collections::collection_details_handler::CollectionDetailsHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::collections::collection_details_handler::CollectionDetailsHandler;
|
||||||
use crate::models::radarr_models::CollectionMovie;
|
use crate::models::radarr_models::CollectionMovie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS,
|
ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS,
|
||||||
@@ -17,9 +17,9 @@ mod tests {
|
|||||||
|
|
||||||
mod test_handle_submit {
|
mod test_handle_submit {
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use bimap::BiMap;
|
use bimap::BiMap;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
@@ -60,37 +60,43 @@ mod tests {
|
|||||||
)
|
)
|
||||||
.into()
|
.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.add_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.add_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.monitor_list
|
.unwrap()
|
||||||
.items
|
.monitor_list
|
||||||
.is_empty());
|
.items
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.data.radarr_data.selected_block.get_active_block(),
|
app.data.radarr_data.selected_block.get_active_block(),
|
||||||
ActiveRadarrBlock::AddMovieSelectRootFolder
|
ActiveRadarrBlock::AddMovieSelectRootFolder
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.add_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.add_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.minimum_availability_list
|
.unwrap()
|
||||||
.items
|
.minimum_availability_list
|
||||||
.is_empty());
|
.items
|
||||||
assert!(!app
|
.is_empty()
|
||||||
.data
|
);
|
||||||
.radarr_data
|
assert!(
|
||||||
.add_movie_modal
|
!app
|
||||||
.as_ref()
|
.data
|
||||||
.unwrap()
|
.radarr_data
|
||||||
.quality_profile_list
|
.add_movie_modal
|
||||||
.items
|
.as_ref()
|
||||||
.is_empty());
|
.unwrap()
|
||||||
|
.quality_profile_list
|
||||||
|
.items
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_str_eq!(
|
assert_str_eq!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
@@ -184,7 +190,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
||||||
assert!(app.data.radarr_data.collection_movies.items.is_empty());
|
assert_is_empty!(app.data.radarr_data.collection_movies.items);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -213,7 +219,7 @@ mod tests {
|
|||||||
use crate::models::radarr_models::{Collection, MinimumAvailability};
|
use crate::models::radarr_models::{Collection, MinimumAvailability};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_COLLECTION_SELECTION_BLOCKS,
|
EDIT_COLLECTION_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::test_edit_collection_key;
|
use crate::test_edit_collection_key;
|
||||||
|
|
||||||
|
|||||||
@@ -7,18 +7,18 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::collections::{
|
|
||||||
collections_sorting_options, CollectionsHandler,
|
|
||||||
};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::collections::{
|
||||||
|
CollectionsHandler, collections_sorting_options,
|
||||||
|
};
|
||||||
use crate::models::radarr_models::{Collection, CollectionMovie};
|
use crate::models::radarr_models::{Collection, CollectionMovie};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, COLLECTIONS_BLOCKS, COLLECTION_DETAILS_BLOCKS, EDIT_COLLECTION_BLOCKS,
|
ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS, COLLECTIONS_BLOCKS, EDIT_COLLECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::test_handler_delegation;
|
use crate::test_handler_delegation;
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -233,7 +233,7 @@ mod tests {
|
|||||||
CollectionsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Collections, None).handle();
|
CollectionsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Collections, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -245,7 +245,7 @@ mod tests {
|
|||||||
use crate::models::radarr_models::MinimumAvailability;
|
use crate::models::radarr_models::MinimumAvailability;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_COLLECTION_SELECTION_BLOCKS,
|
EDIT_COLLECTION_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{assert_navigation_popped, test_edit_collection_key};
|
use crate::{assert_navigation_popped, test_edit_collection_key};
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::collections::edit_collection_handler::EditCollectionHandler;
|
use crate::handlers::radarr_handlers::collections::edit_collection_handler::EditCollectionHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::{Collection, EditCollectionParams, MinimumAvailability};
|
use crate::models::radarr_models::{Collection, EditCollectionParams, MinimumAvailability};
|
||||||
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
@@ -24,9 +24,9 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -477,15 +477,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_collection_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_collection_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.path
|
.unwrap()
|
||||||
.text
|
.path
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditCollectionPrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditCollectionPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,7 +514,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Collections.into());
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -602,7 +604,7 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditCollectionPrompt.into()
|
ActiveRadarrBlock::EditCollectionPrompt.into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -627,7 +629,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.radarr_data
|
.radarr_data
|
||||||
@@ -635,7 +637,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.monitored,
|
.monitored,
|
||||||
Some(true)
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
EditCollectionHandler::new(
|
EditCollectionHandler::new(
|
||||||
@@ -647,7 +649,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.radarr_data
|
.radarr_data
|
||||||
@@ -655,7 +657,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.monitored,
|
.monitored,
|
||||||
Some(false)
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -685,7 +687,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.radarr_data
|
.radarr_data
|
||||||
@@ -693,7 +695,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.search_on_add,
|
.search_on_add,
|
||||||
Some(true)
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
EditCollectionHandler::new(
|
EditCollectionHandler::new(
|
||||||
@@ -705,7 +707,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.radarr_data
|
.radarr_data
|
||||||
@@ -713,7 +715,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.search_on_add,
|
.search_on_add,
|
||||||
Some(false)
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -750,7 +752,7 @@ mod tests {
|
|||||||
app,
|
app,
|
||||||
(selected_block, Some(ActiveRadarrBlock::Collections)).into()
|
(selected_block, Some(ActiveRadarrBlock::Collections)).into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
|
|
||||||
if selected_block == ActiveRadarrBlock::EditCollectionRootFolderPathInput {
|
if selected_block == ActiveRadarrBlock::EditCollectionRootFolderPathInput {
|
||||||
assert!(app.ignore_special_keys_for_textbox_input);
|
assert!(app.ignore_special_keys_for_textbox_input);
|
||||||
@@ -865,10 +867,10 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
|
BlockSelectionState,
|
||||||
servarr_data::radarr::{
|
servarr_data::radarr::{
|
||||||
modals::EditCollectionModal, radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS,
|
modals::EditCollectionModal, radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
BlockSelectionState,
|
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::downloads::DownloadsHandler;
|
use crate::handlers::radarr_handlers::downloads::DownloadsHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::download_record;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::download_record;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::DownloadRecord;
|
use crate::models::radarr_models::DownloadRecord;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DOWNLOADS_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DOWNLOADS_BLOCKS};
|
||||||
|
|
||||||
@@ -187,7 +187,7 @@ mod tests {
|
|||||||
DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, base_route.into());
|
assert_navigation_popped!(app, base_route.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -229,7 +229,7 @@ mod tests {
|
|||||||
DownloadsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Downloads, None).handle();
|
DownloadsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Downloads, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Downloads.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Downloads.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
use crate::handlers::radarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_INDEXER_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_INDEXER_BLOCKS};
|
||||||
use crate::models::servarr_models::EditIndexerParams;
|
use crate::models::servarr_models::EditIndexerParams;
|
||||||
@@ -21,9 +21,9 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -422,11 +422,11 @@ mod tests {
|
|||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -856,7 +856,7 @@ mod tests {
|
|||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::{
|
use crate::models::{
|
||||||
servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|
||||||
@@ -887,9 +887,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert_eq!(app.data.radarr_data.edit_indexer_modal, None);
|
assert_none!(app.data.radarr_data.edit_indexer_modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -972,7 +972,7 @@ mod tests {
|
|||||||
);
|
);
|
||||||
assert_modal_present!(app.data.radarr_data.edit_indexer_modal);
|
assert_modal_present!(app.data.radarr_data.edit_indexer_modal);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -1054,14 +1054,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1075,14 +1077,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1107,14 +1111,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1128,14 +1134,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1160,14 +1168,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1181,14 +1191,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1212,15 +1224,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.name
|
.unwrap()
|
||||||
.text
|
.name
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1245,15 +1259,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.url
|
.unwrap()
|
||||||
.text
|
.url
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1278,15 +1294,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.api_key
|
.unwrap()
|
||||||
.text
|
.api_key
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1311,15 +1329,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.seed_ratio
|
.unwrap()
|
||||||
.text
|
.seed_ratio
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1344,15 +1364,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.tags
|
.unwrap()
|
||||||
.text
|
.tags
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1386,7 +1408,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.edit_indexer_modal, None);
|
assert_none!(app.data.radarr_data.edit_indexer_modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -1422,9 +1444,9 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
|
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
use crate::handlers::radarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer_settings;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer_settings;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, INDEXER_SETTINGS_BLOCKS,
|
ActiveRadarrBlock, INDEXER_SETTINGS_BLOCKS,
|
||||||
@@ -21,9 +21,9 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -269,9 +269,9 @@ mod tests {
|
|||||||
mod test_handle_left_right_action {
|
mod test_handle_left_right_action {
|
||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -428,8 +428,8 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
radarr_models::IndexerSettings,
|
BlockSelectionState, radarr_models::IndexerSettings,
|
||||||
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState,
|
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
@@ -461,9 +461,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert_eq!(app.data.radarr_data.indexer_settings, None);
|
assert_none!(app.data.radarr_data.indexer_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -739,15 +739,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.indexer_settings
|
.radarr_data
|
||||||
.as_ref()
|
.indexer_settings
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.whitelisted_hardcoded_subs
|
.unwrap()
|
||||||
.text
|
.whitelisted_hardcoded_subs
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -774,7 +776,6 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_esc {
|
mod test_handle_esc {
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
@@ -802,7 +803,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.indexer_settings, None);
|
assert_none!(app.data.radarr_data.indexer_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -825,9 +826,9 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.indexer_settings,
|
&app.data.radarr_data.indexer_settings,
|
||||||
Some(IndexerSettings::default())
|
&IndexerSettings::default()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -851,21 +852,21 @@ mod tests {
|
|||||||
IndexerSettingsHandler::new(ESC_KEY, &mut app, active_radarr_block, None).handle();
|
IndexerSettingsHandler::new(ESC_KEY, &mut app, active_radarr_block, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.indexer_settings,
|
&app.data.radarr_data.indexer_settings,
|
||||||
Some(IndexerSettings::default())
|
&IndexerSettings::default()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_key_char {
|
mod test_handle_key_char {
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::assert_str_eq;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
radarr_models::IndexerSettings,
|
BlockSelectionState, radarr_models::IndexerSettings,
|
||||||
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState,
|
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
@@ -950,9 +951,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::EditAllIndexerSettings(indexer_settings()))
|
&RadarrEvent::EditAllIndexerSettings(indexer_settings())
|
||||||
);
|
);
|
||||||
assert_modal_absent!(app.data.radarr_data.indexer_settings);
|
assert_modal_absent!(app.data.radarr_data.indexer_settings);
|
||||||
assert!(app.should_refresh);
|
assert!(app.should_refresh);
|
||||||
|
|||||||
@@ -4,15 +4,15 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::indexers::IndexersHandler;
|
use crate::handlers::radarr_handlers::indexers::IndexersHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, EDIT_INDEXER_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS,
|
ActiveRadarrBlock, EDIT_INDEXER_BLOCKS, INDEXER_SETTINGS_BLOCKS, INDEXERS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::Indexer;
|
use crate::models::servarr_models::Indexer;
|
||||||
use crate::test_handler_delegation;
|
use crate::test_handler_delegation;
|
||||||
@@ -125,7 +125,7 @@ mod tests {
|
|||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::{Indexer, IndexerField};
|
use crate::models::servarr_models::{Indexer, IndexerField};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
@@ -192,13 +192,13 @@ mod tests {
|
|||||||
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle();
|
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle();
|
||||||
|
|
||||||
assert_navigation_pushed!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
assert_navigation_pushed!(app, ActiveRadarrBlock::EditIndexerPrompt.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.edit_indexer_modal,
|
&app.data.radarr_data.edit_indexer_modal,
|
||||||
Some((&app.data.radarr_data).into())
|
&EditIndexerModal::from(&app.data.radarr_data)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.edit_indexer_modal,
|
&app.data.radarr_data.edit_indexer_modal,
|
||||||
Some(expected_edit_indexer_modal)
|
&expected_edit_indexer_modal
|
||||||
);
|
);
|
||||||
if torrent_protocol {
|
if torrent_protocol {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
@@ -227,7 +227,7 @@ mod tests {
|
|||||||
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle();
|
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Indexers.into());
|
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.radarr_data.edit_indexer_modal, None);
|
assert_none!(app.data.radarr_data.edit_indexer_modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -247,9 +247,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::DeleteIndexer(1))
|
&RadarrEvent::DeleteIndexer(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
}
|
}
|
||||||
@@ -274,14 +274,12 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_esc {
|
mod test_handle_esc {
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
|
|
||||||
@@ -318,7 +316,7 @@ mod tests {
|
|||||||
IndexersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::TestIndexer, None).handle();
|
IndexersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::TestIndexer, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.radarr_data.indexer_test_errors, None);
|
assert_none!(app.data.radarr_data.indexer_test_errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -332,7 +330,7 @@ mod tests {
|
|||||||
IndexersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle();
|
IndexersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Indexers, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -538,9 +536,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::DeleteIndexer(1))
|
&RadarrEvent::DeleteIndexer(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Indexers.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
||||||
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
|
|||||||
@@ -9,18 +9,18 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
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::add_movie_body;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection_movie;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection_movie;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::models::HorizontallyScrollableText;
|
||||||
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::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ADD_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ADD_MOVIE_BLOCKS, ActiveRadarrBlock};
|
||||||
use crate::models::servarr_models::RootFolder;
|
use crate::models::servarr_models::RootFolder;
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
use bimap::BiMap;
|
use bimap::BiMap;
|
||||||
|
|
||||||
mod test_handle_scroll_up_and_down {
|
mod test_handle_scroll_up_and_down {
|
||||||
@@ -28,9 +28,9 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::simple_stateful_iterable_vec;
|
use crate::simple_stateful_iterable_vec;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -768,11 +768,11 @@ mod tests {
|
|||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{
|
||||||
add_movie_body, add_movie_search_result, collection_movie,
|
add_movie_body, add_movie_search_result, collection_movie,
|
||||||
};
|
};
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use bimap::BiMap;
|
use bimap::BiMap;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
@@ -851,33 +851,39 @@ mod tests {
|
|||||||
ActiveRadarrBlock::AddMovieSelectRootFolder
|
ActiveRadarrBlock::AddMovieSelectRootFolder
|
||||||
);
|
);
|
||||||
assert_modal_present!(app.data.radarr_data.add_movie_modal);
|
assert_modal_present!(app.data.radarr_data.add_movie_modal);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.add_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.add_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.monitor_list
|
.unwrap()
|
||||||
.items
|
.monitor_list
|
||||||
.is_empty());
|
.items
|
||||||
assert!(!app
|
.is_empty()
|
||||||
.data
|
);
|
||||||
.radarr_data
|
assert!(
|
||||||
.add_movie_modal
|
!app
|
||||||
.as_ref()
|
.data
|
||||||
.unwrap()
|
.radarr_data
|
||||||
.minimum_availability_list
|
.add_movie_modal
|
||||||
.items
|
.as_ref()
|
||||||
.is_empty());
|
.unwrap()
|
||||||
assert!(!app
|
.minimum_availability_list
|
||||||
.data
|
.items
|
||||||
.radarr_data
|
.is_empty()
|
||||||
.add_movie_modal
|
);
|
||||||
.as_ref()
|
assert!(
|
||||||
.unwrap()
|
!app
|
||||||
.quality_profile_list
|
.data
|
||||||
.items
|
.radarr_data
|
||||||
.is_empty());
|
.add_movie_modal
|
||||||
|
.as_ref()
|
||||||
|
.unwrap()
|
||||||
|
.quality_profile_list
|
||||||
|
.items
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_str_eq!(
|
assert_str_eq!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
@@ -979,7 +985,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -1053,9 +1059,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::AddMovie(add_movie_body()))
|
&RadarrEvent::AddMovie(add_movie_body())
|
||||||
);
|
);
|
||||||
assert_modal_absent!(app.data.radarr_data.add_movie_modal);
|
assert_modal_absent!(app.data.radarr_data.add_movie_modal);
|
||||||
}
|
}
|
||||||
@@ -1093,7 +1099,7 @@ mod tests {
|
|||||||
app,
|
app,
|
||||||
(selected_block, Some(ActiveRadarrBlock::CollectionDetails)).into()
|
(selected_block, Some(ActiveRadarrBlock::CollectionDetails)).into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
|
|
||||||
if selected_block == ActiveRadarrBlock::AddMovieTagsInput {
|
if selected_block == ActiveRadarrBlock::AddMovieTagsInput {
|
||||||
assert!(app.ignore_special_keys_for_textbox_input);
|
assert!(app.ignore_special_keys_for_textbox_input);
|
||||||
@@ -1132,7 +1138,6 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_esc {
|
mod test_handle_esc {
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
@@ -1162,7 +1167,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert_eq!(app.data.radarr_data.add_movie_search, None);
|
assert_none!(app.data.radarr_data.add_movie_search);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1310,7 +1315,6 @@ mod tests {
|
|||||||
|
|
||||||
mod test_handle_key_char {
|
mod test_handle_key_char {
|
||||||
use bimap::BiMap;
|
use bimap::BiMap;
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -1320,9 +1324,9 @@ mod tests {
|
|||||||
add_movie_body, add_movie_search_result, collection_movie,
|
add_movie_body, add_movie_search_result, collection_movie,
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
|
BlockSelectionState,
|
||||||
servarr_data::radarr::{modals::AddMovieModal, radarr_data::ADD_MOVIE_SELECTION_BLOCKS},
|
servarr_data::radarr::{modals::AddMovieModal, radarr_data::ADD_MOVIE_SELECTION_BLOCKS},
|
||||||
stateful_table::StatefulTable,
|
stateful_table::StatefulTable,
|
||||||
BlockSelectionState,
|
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
@@ -1490,9 +1494,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::AddMovie(add_movie_body()))
|
&RadarrEvent::AddMovie(add_movie_body())
|
||||||
);
|
);
|
||||||
assert_modal_absent!(app.data.radarr_data.add_movie_modal);
|
assert_modal_absent!(app.data.radarr_data.add_movie_modal);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::library::delete_movie_handler::DeleteMovieHandler;
|
use crate::handlers::radarr_handlers::library::delete_movie_handler::DeleteMovieHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::DeleteMovieParams;
|
use crate::models::radarr_models::DeleteMovieParams;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DELETE_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DELETE_MOVIE_BLOCKS};
|
||||||
|
|
||||||
@@ -17,8 +17,8 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
|
||||||
use crate::models::BlockSelectionState;
|
use crate::models::BlockSelectionState;
|
||||||
|
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -83,8 +83,8 @@ mod tests {
|
|||||||
mod test_handle_submit {
|
mod test_handle_submit {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
|
||||||
use crate::models::BlockSelectionState;
|
use crate::models::BlockSelectionState;
|
||||||
|
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -115,7 +115,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert!(!app.data.radarr_data.delete_movie_files);
|
assert!(!app.data.radarr_data.delete_movie_files);
|
||||||
assert!(!app.data.radarr_data.add_list_exclusion);
|
assert!(!app.data.radarr_data.add_list_exclusion);
|
||||||
@@ -183,7 +183,7 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::DeleteMoviePrompt.into()
|
ActiveRadarrBlock::DeleteMoviePrompt.into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert!(app.data.radarr_data.delete_movie_files);
|
assert!(app.data.radarr_data.delete_movie_files);
|
||||||
@@ -257,7 +257,7 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::library::edit_movie_handler::EditMovieHandler;
|
use crate::handlers::radarr_handlers::library::edit_movie_handler::EditMovieHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::{EditMovieParams, MinimumAvailability, Movie};
|
use crate::models::radarr_models::{EditMovieParams, MinimumAvailability, Movie};
|
||||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_MOVIE_BLOCKS};
|
||||||
@@ -22,9 +22,9 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -568,15 +568,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.path
|
.unwrap()
|
||||||
.text
|
.path
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -600,15 +602,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_movie_modal
|
.radarr_data
|
||||||
.as_mut()
|
.edit_movie_modal
|
||||||
.unwrap()
|
.as_mut()
|
||||||
.tags
|
.unwrap()
|
||||||
.text
|
.tags
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::EditMoviePrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -634,7 +638,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -716,7 +720,7 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditMoviePrompt.into()
|
ActiveRadarrBlock::EditMoviePrompt.into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -740,7 +744,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.radarr_data
|
.radarr_data
|
||||||
@@ -748,7 +752,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.monitored,
|
.monitored,
|
||||||
Some(true)
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
EditMovieHandler::new(
|
EditMovieHandler::new(
|
||||||
@@ -760,7 +764,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.radarr_data
|
.radarr_data
|
||||||
@@ -768,7 +772,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.monitored,
|
.monitored,
|
||||||
Some(false)
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -805,7 +809,7 @@ mod tests {
|
|||||||
app,
|
app,
|
||||||
(selected_block, Some(ActiveRadarrBlock::Movies)).into()
|
(selected_block, Some(ActiveRadarrBlock::Movies)).into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
|
|
||||||
if selected_block == ActiveRadarrBlock::EditMoviePathInput
|
if selected_block == ActiveRadarrBlock::EditMoviePathInput
|
||||||
|| selected_block == ActiveRadarrBlock::EditMovieTagsInput
|
|| selected_block == ActiveRadarrBlock::EditMovieTagsInput
|
||||||
@@ -847,7 +851,7 @@ mod tests {
|
|||||||
)
|
)
|
||||||
.into()
|
.into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -954,8 +958,8 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
servarr_data::radarr::{modals::EditMovieModal, radarr_data::EDIT_MOVIE_SELECTION_BLOCKS},
|
|
||||||
BlockSelectionState,
|
BlockSelectionState,
|
||||||
|
servarr_data::radarr::{modals::EditMovieModal, radarr_data::EDIT_MOVIE_SELECTION_BLOCKS},
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,18 +5,18 @@ mod tests {
|
|||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::library::{movies_sorting_options, LibraryHandler};
|
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::library::{LibraryHandler, movies_sorting_options};
|
||||||
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, ADD_MOVIE_BLOCKS, DELETE_MOVIE_BLOCKS, EDIT_MOVIE_BLOCKS, LIBRARY_BLOCKS,
|
ADD_MOVIE_BLOCKS, ActiveRadarrBlock, DELETE_MOVIE_BLOCKS, EDIT_MOVIE_BLOCKS, LIBRARY_BLOCKS,
|
||||||
MOVIE_DETAILS_BLOCKS,
|
MOVIE_DETAILS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::Language;
|
use crate::models::servarr_models::Language;
|
||||||
@@ -207,9 +207,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::UpdateAllMovies)
|
&RadarrEvent::UpdateAllMovies
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
}
|
}
|
||||||
@@ -234,7 +234,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -288,7 +288,7 @@ mod tests {
|
|||||||
LibraryHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Movies, None).handle();
|
LibraryHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::Movies, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,7 +301,7 @@ mod tests {
|
|||||||
use crate::models::radarr_models::MinimumAvailability;
|
use crate::models::radarr_models::MinimumAvailability;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_MOVIE_SELECTION_BLOCKS,
|
EDIT_MOVIE_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
@@ -405,9 +405,9 @@ mod tests {
|
|||||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert!(app.is_routing);
|
assert!(app.is_routing);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::ToggleMovieMonitoring(0))
|
&RadarrEvent::ToggleMovieMonitoring(0)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -539,9 +539,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::UpdateAllMovies)
|
&RadarrEvent::UpdateAllMovies
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,16 +7,16 @@ mod tests {
|
|||||||
use serde_json::Number;
|
use serde_json::Number;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::library::movie_details_handler::{
|
use crate::handlers::radarr_handlers::library::movie_details_handler::{
|
||||||
releases_sorting_options, MovieDetailsHandler,
|
MovieDetailsHandler, releases_sorting_options,
|
||||||
};
|
};
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{movie, release};
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{movie, release};
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::{Credit, MovieHistoryItem};
|
use crate::models::radarr_models::{Credit, MovieHistoryItem};
|
||||||
use crate::models::radarr_models::{RadarrRelease, RadarrReleaseDownloadBody};
|
use crate::models::radarr_models::{RadarrRelease, RadarrReleaseDownloadBody};
|
||||||
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
||||||
@@ -393,9 +393,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -420,7 +420,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into());
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -495,7 +495,7 @@ mod tests {
|
|||||||
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_MOVIE_SELECTION_BLOCKS,
|
EDIT_MOVIE_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{assert_navigation_popped, test_edit_movie_key};
|
use crate::{assert_navigation_popped, test_edit_movie_key};
|
||||||
@@ -808,9 +808,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::MovieDetails.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
pub(in crate::handlers::radarr_handlers) mod utils {
|
pub(in crate::handlers::radarr_handlers) mod utils {
|
||||||
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::radarr_models::{
|
use crate::models::radarr_models::{
|
||||||
AddMovieBody, AddMovieOptions, AddMovieSearchResult, Collection, CollectionMovie,
|
AddMovieBody, AddMovieOptions, AddMovieSearchResult, Collection, CollectionMovie,
|
||||||
DownloadRecord, IndexerSettings, MediaInfo, MinimumAvailability, Movie, MovieCollection,
|
DownloadRecord, IndexerSettings, MediaInfo, MinimumAvailability, Movie, MovieCollection,
|
||||||
@@ -9,9 +10,8 @@ pub(in crate::handlers::radarr_handlers) mod utils {
|
|||||||
use crate::models::servarr_models::{
|
use crate::models::servarr_models::{
|
||||||
Indexer, IndexerField, Language, Quality, QualityWrapper, RootFolder,
|
Indexer, IndexerField, Language, Quality, QualityWrapper, RootFolder,
|
||||||
};
|
};
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
use chrono::DateTime;
|
use chrono::DateTime;
|
||||||
use serde_json::{json, Number};
|
use serde_json::{Number, json};
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! test_edit_movie_key {
|
macro_rules! test_edit_movie_key {
|
||||||
|
|||||||
@@ -4,18 +4,18 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::root_folder;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::root_folder;
|
||||||
use crate::handlers::radarr_handlers::root_folders::RootFoldersHandler;
|
use crate::handlers::radarr_handlers::root_folders::RootFoldersHandler;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS};
|
||||||
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
|
|
||||||
mod test_handle_home_end {
|
mod test_handle_home_end {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
@@ -332,9 +332,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::DeleteRootFolder(1))
|
&RadarrEvent::DeleteRootFolder(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
||||||
}
|
}
|
||||||
@@ -359,7 +359,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -424,7 +424,7 @@ mod tests {
|
|||||||
RootFoldersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::RootFolders, None).handle();
|
RootFoldersHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::RootFolders, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -600,9 +600,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::DeleteRootFolder(1))
|
&RadarrEvent::DeleteRootFolder(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::RootFolders.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
||||||
use crate::models::radarr_models::{RadarrTask, RadarrTaskName};
|
use crate::models::radarr_models::{RadarrTask, RadarrTaskName};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
||||||
@@ -693,9 +693,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::StartTask(RadarrTaskName::default()))
|
&RadarrEvent::StartTask(RadarrTaskName::default())
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into());
|
||||||
}
|
}
|
||||||
@@ -716,7 +716,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.radarr_data.prompt_confirm);
|
assert!(!app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.radarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.radarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -750,7 +750,7 @@ mod tests {
|
|||||||
SystemDetailsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::SystemLogs, None).handle();
|
SystemDetailsHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::SystemLogs, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::System.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::System.into());
|
||||||
assert!(app.data.radarr_data.log_details.items.is_empty());
|
assert_is_empty!(app.data.radarr_data.log_details.items);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -907,9 +907,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.radarr_data.prompt_confirm);
|
assert!(app.data.radarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.prompt_confirm_action,
|
&app.data.radarr_data.prompt_confirm_action,
|
||||||
Some(RadarrEvent::StartTask(RadarrTaskName::default()))
|
&RadarrEvent::StartTask(RadarrTaskName::default())
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::SystemTasks.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::system::SystemHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::system::SystemHandler;
|
||||||
use crate::models::radarr_models::RadarrTask;
|
use crate::models::radarr_models::RadarrTask;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
||||||
@@ -83,7 +83,7 @@ mod tests {
|
|||||||
SystemHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::System, None).handle();
|
SystemHandler::new(ESC_KEY, &mut app, ActiveRadarrBlock::System, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::System.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::System.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -344,7 +344,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::System.into());
|
assert_eq!(app.get_current_route(), ActiveRadarrBlock::System.into());
|
||||||
assert!(app.data.radarr_data.log_details.is_empty());
|
assert_is_empty!(app.data.radarr_data.log_details);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::blocklist::{blocklist_sorting_options, BlocklistHandler};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::blocklist::{BlocklistHandler, blocklist_sorting_options};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, BLOCKLIST_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, BLOCKLIST_BLOCKS};
|
||||||
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
||||||
use crate::models::sonarr_models::BlocklistItem;
|
use crate::models::sonarr_models::BlocklistItem;
|
||||||
@@ -179,9 +179,9 @@ mod tests {
|
|||||||
BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, base_route.into());
|
assert_navigation_popped!(app, base_route.into());
|
||||||
}
|
}
|
||||||
@@ -202,7 +202,7 @@ mod tests {
|
|||||||
BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
BlocklistHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Blocklist.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Blocklist.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -267,7 +267,7 @@ mod tests {
|
|||||||
BlocklistHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Blocklist, None).handle();
|
BlocklistHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Blocklist, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Blocklist.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Blocklist.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,9 +382,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, base_route.into());
|
assert_navigation_popped!(app, base_route.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::downloads::DownloadsHandler;
|
use crate::handlers::sonarr_handlers::downloads::DownloadsHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::download_record;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::download_record;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DOWNLOADS_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DOWNLOADS_BLOCKS};
|
||||||
use crate::models::sonarr_models::DownloadRecord;
|
use crate::models::sonarr_models::DownloadRecord;
|
||||||
|
|
||||||
@@ -127,7 +127,6 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_submit {
|
mod test_handle_submit {
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
@@ -166,9 +165,9 @@ mod tests {
|
|||||||
DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, base_route.into());
|
assert_navigation_popped!(app, base_route.into());
|
||||||
}
|
}
|
||||||
@@ -192,7 +191,7 @@ mod tests {
|
|||||||
DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
DownloadsHandler::new(SUBMIT_KEY, &mut app, prompt_block, None).handle();
|
||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, base_route.into());
|
assert_navigation_popped!(app, base_route.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -234,7 +233,7 @@ mod tests {
|
|||||||
DownloadsHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Downloads, None).handle();
|
DownloadsHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Downloads, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Downloads.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Downloads.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,9 +367,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, base_route.into());
|
assert_navigation_popped!(app, base_route.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::history::{history_sorting_options, HistoryHandler};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::history::{HistoryHandler, history_sorting_options};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS};
|
||||||
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
||||||
use crate::models::sonarr_models::{SonarrHistoryEventType, SonarrHistoryItem};
|
use crate::models::sonarr_models::{SonarrHistoryEventType, SonarrHistoryItem};
|
||||||
@@ -153,7 +153,7 @@ mod tests {
|
|||||||
HistoryHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::History, None).handle();
|
HistoryHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::History, None).handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveSonarrBlock::History.into());
|
assert_eq!(app.get_current_route(), ActiveSonarrBlock::History.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
use crate::handlers::sonarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_INDEXER_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_INDEXER_BLOCKS};
|
||||||
use crate::models::servarr_models::EditIndexerParams;
|
use crate::models::servarr_models::EditIndexerParams;
|
||||||
@@ -21,9 +21,9 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -422,11 +422,11 @@ mod tests {
|
|||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -856,7 +856,7 @@ mod tests {
|
|||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::{
|
use crate::models::{
|
||||||
servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
|
|
||||||
@@ -887,9 +887,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert_eq!(app.data.sonarr_data.edit_indexer_modal, None);
|
assert_none!(app.data.sonarr_data.edit_indexer_modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -972,7 +972,7 @@ mod tests {
|
|||||||
);
|
);
|
||||||
assert_modal_present!(app.data.sonarr_data.edit_indexer_modal);
|
assert_modal_present!(app.data.sonarr_data.edit_indexer_modal);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -1054,14 +1054,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1075,14 +1077,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1107,14 +1111,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1128,14 +1134,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1160,14 +1168,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1181,14 +1191,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1212,15 +1224,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.name
|
.unwrap()
|
||||||
.text
|
.name
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1245,15 +1259,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.url
|
.unwrap()
|
||||||
.text
|
.url
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1278,15 +1294,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.api_key
|
.unwrap()
|
||||||
.text
|
.api_key
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1311,15 +1329,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.seed_ratio
|
.unwrap()
|
||||||
.text
|
.seed_ratio
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1344,15 +1364,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.tags
|
.unwrap()
|
||||||
.text
|
.tags
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1363,7 +1385,6 @@ mod tests {
|
|||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
const ESC_KEY: Key = DEFAULT_KEYBINDINGS.esc.key;
|
const ESC_KEY: Key = DEFAULT_KEYBINDINGS.esc.key;
|
||||||
@@ -1386,7 +1407,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.edit_indexer_modal, None);
|
assert_none!(app.data.sonarr_data.edit_indexer_modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -1411,9 +1432,9 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.edit_indexer_modal,
|
&app.data.sonarr_data.edit_indexer_modal,
|
||||||
Some(EditIndexerModal::default())
|
&EditIndexerModal::default()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1422,9 +1443,9 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
|
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
use crate::handlers::sonarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer_settings;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer_settings;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
ActiveSonarrBlock, INDEXER_SETTINGS_BLOCKS,
|
ActiveSonarrBlock, INDEXER_SETTINGS_BLOCKS,
|
||||||
};
|
};
|
||||||
@@ -21,9 +21,9 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
||||||
use crate::models::sonarr_models::IndexerSettings;
|
use crate::models::sonarr_models::IndexerSettings;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -241,8 +241,8 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS,
|
BlockSelectionState, servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS,
|
||||||
sonarr_models::IndexerSettings, BlockSelectionState,
|
sonarr_models::IndexerSettings,
|
||||||
},
|
},
|
||||||
network::sonarr_network::SonarrEvent,
|
network::sonarr_network::SonarrEvent,
|
||||||
};
|
};
|
||||||
@@ -274,9 +274,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert_eq!(app.data.sonarr_data.indexer_settings, None);
|
assert_none!(app.data.sonarr_data.indexer_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -303,9 +303,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::EditAllIndexerSettings(indexer_settings()))
|
&SonarrEvent::EditAllIndexerSettings(indexer_settings())
|
||||||
);
|
);
|
||||||
assert_modal_absent!(app.data.sonarr_data.indexer_settings);
|
assert_modal_absent!(app.data.sonarr_data.indexer_settings);
|
||||||
assert!(app.should_refresh);
|
assert!(app.should_refresh);
|
||||||
@@ -413,7 +413,6 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_esc {
|
mod test_handle_esc {
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::models::sonarr_models::IndexerSettings;
|
use crate::models::sonarr_models::IndexerSettings;
|
||||||
@@ -441,7 +440,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.indexer_settings, None);
|
assert_none!(app.data.sonarr_data.indexer_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -462,9 +461,9 @@ mod tests {
|
|||||||
IndexerSettingsHandler::new(ESC_KEY, &mut app, active_sonarr_block, None).handle();
|
IndexerSettingsHandler::new(ESC_KEY, &mut app, active_sonarr_block, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.indexer_settings,
|
&app.data.sonarr_data.indexer_settings,
|
||||||
Some(IndexerSettings::default())
|
&IndexerSettings::default()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -473,11 +472,10 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::sonarr::sonarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::sonarr_network::SonarrEvent,
|
network::sonarr_network::SonarrEvent,
|
||||||
};
|
};
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -504,9 +502,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::EditAllIndexerSettings(indexer_settings()))
|
&SonarrEvent::EditAllIndexerSettings(indexer_settings())
|
||||||
);
|
);
|
||||||
assert_modal_absent!(app.data.sonarr_data.indexer_settings);
|
assert_modal_absent!(app.data.sonarr_data.indexer_settings);
|
||||||
assert!(app.should_refresh);
|
assert!(app.should_refresh);
|
||||||
|
|||||||
@@ -4,15 +4,15 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::indexers::IndexersHandler;
|
use crate::handlers::sonarr_handlers::indexers::IndexersHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
ActiveSonarrBlock, EDIT_INDEXER_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS,
|
ActiveSonarrBlock, EDIT_INDEXER_BLOCKS, INDEXER_SETTINGS_BLOCKS, INDEXERS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::Indexer;
|
use crate::models::servarr_models::Indexer;
|
||||||
use crate::test_handler_delegation;
|
use crate::test_handler_delegation;
|
||||||
@@ -127,7 +127,7 @@ mod tests {
|
|||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
SonarrData, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, SonarrData,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::{Indexer, IndexerField};
|
use crate::models::servarr_models::{Indexer, IndexerField};
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
@@ -197,13 +197,13 @@ mod tests {
|
|||||||
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle();
|
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle();
|
||||||
|
|
||||||
assert_navigation_pushed!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
assert_navigation_pushed!(app, ActiveSonarrBlock::EditIndexerPrompt.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.edit_indexer_modal,
|
&app.data.sonarr_data.edit_indexer_modal,
|
||||||
Some((&app.data.sonarr_data).into())
|
&EditIndexerModal::from(&app.data.sonarr_data)
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.edit_indexer_modal,
|
&app.data.sonarr_data.edit_indexer_modal,
|
||||||
Some(expected_edit_indexer_modal)
|
&expected_edit_indexer_modal
|
||||||
);
|
);
|
||||||
if torrent_protocol {
|
if torrent_protocol {
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
@@ -233,7 +233,7 @@ mod tests {
|
|||||||
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle();
|
IndexersHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveSonarrBlock::Indexers.into());
|
assert_eq!(app.get_current_route(), ActiveSonarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.sonarr_data.edit_indexer_modal, None);
|
assert_none!(app.data.sonarr_data.edit_indexer_modal);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -253,9 +253,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DeleteIndexer(1))
|
&SonarrEvent::DeleteIndexer(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
}
|
}
|
||||||
@@ -280,13 +280,12 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_esc {
|
mod test_handle_esc {
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
@@ -324,7 +323,7 @@ mod tests {
|
|||||||
IndexersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::TestIndexer, None).handle();
|
IndexersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::TestIndexer, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert_eq!(app.data.sonarr_data.indexer_test_errors, None);
|
assert_none!(app.data.sonarr_data.indexer_test_errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -338,7 +337,7 @@ mod tests {
|
|||||||
IndexersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle();
|
IndexersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Indexers, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -552,9 +551,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DeleteIndexer(1))
|
&SonarrEvent::DeleteIndexer(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Indexers.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::handlers::sonarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
||||||
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
|
|||||||
@@ -5,32 +5,32 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::library::add_series_handler::AddSeriesHandler;
|
use crate::handlers::sonarr_handlers::library::add_series_handler::AddSeriesHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::add_series_search_result;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::add_series_search_result;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ADD_SERIES_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ADD_SERIES_BLOCKS, ActiveSonarrBlock};
|
||||||
use crate::models::servarr_models::RootFolder;
|
use crate::models::servarr_models::RootFolder;
|
||||||
use crate::models::sonarr_models::{
|
use crate::models::sonarr_models::{
|
||||||
AddSeriesBody, AddSeriesOptions, AddSeriesSearchResult, SeriesMonitor, SeriesType,
|
AddSeriesBody, AddSeriesOptions, AddSeriesSearchResult, SeriesMonitor, SeriesType,
|
||||||
};
|
};
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
|
|
||||||
mod test_handle_scroll_up_and_down {
|
mod test_handle_scroll_up_and_down {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::simple_stateful_iterable_vec;
|
use crate::simple_stateful_iterable_vec;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -898,11 +898,11 @@ mod tests {
|
|||||||
|
|
||||||
mod test_handle_submit {
|
mod test_handle_submit {
|
||||||
use crate::assert_navigation_popped;
|
use crate::assert_navigation_popped;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::ADD_SERIES_SELECTION_BLOCKS;
|
||||||
use crate::models::sonarr_models::Series;
|
use crate::models::sonarr_models::Series;
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
use bimap::BiMap;
|
use bimap::BiMap;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
@@ -978,33 +978,39 @@ mod tests {
|
|||||||
ActiveSonarrBlock::AddSeriesSelectRootFolder
|
ActiveSonarrBlock::AddSeriesSelectRootFolder
|
||||||
);
|
);
|
||||||
assert_modal_present!(app.data.sonarr_data.add_series_modal);
|
assert_modal_present!(app.data.sonarr_data.add_series_modal);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.add_series_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.add_series_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.monitor_list
|
.unwrap()
|
||||||
.items
|
.monitor_list
|
||||||
.is_empty());
|
.items
|
||||||
assert!(!app
|
.is_empty()
|
||||||
.data
|
);
|
||||||
.sonarr_data
|
assert!(
|
||||||
.add_series_modal
|
!app
|
||||||
.as_ref()
|
.data
|
||||||
.unwrap()
|
.sonarr_data
|
||||||
.series_type_list
|
.add_series_modal
|
||||||
.items
|
.as_ref()
|
||||||
.is_empty());
|
.unwrap()
|
||||||
assert!(!app
|
.series_type_list
|
||||||
.data
|
.items
|
||||||
.sonarr_data
|
.is_empty()
|
||||||
.add_series_modal
|
);
|
||||||
.as_ref()
|
assert!(
|
||||||
.unwrap()
|
!app
|
||||||
.quality_profile_list
|
.data
|
||||||
.items
|
.sonarr_data
|
||||||
.is_empty());
|
.add_series_modal
|
||||||
|
.as_ref()
|
||||||
|
.unwrap()
|
||||||
|
.quality_profile_list
|
||||||
|
.items
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_str_eq!(
|
assert_str_eq!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
@@ -1106,7 +1112,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1222,7 +1228,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_pushed!(app, selected_block.into());
|
assert_navigation_pushed!(app, selected_block.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
|
|
||||||
if selected_block == ActiveSonarrBlock::AddSeriesTagsInput {
|
if selected_block == ActiveSonarrBlock::AddSeriesTagsInput {
|
||||||
assert!(app.ignore_special_keys_for_textbox_input);
|
assert!(app.ignore_special_keys_for_textbox_input);
|
||||||
@@ -1311,7 +1317,6 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_esc {
|
mod test_handle_esc {
|
||||||
use pretty_assertions::assert_eq;
|
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
use crate::models::servarr_data::sonarr::modals::AddSeriesModal;
|
||||||
@@ -1342,7 +1347,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
assert_eq!(app.data.sonarr_data.add_series_search, None);
|
assert_none!(app.data.sonarr_data.add_series_search);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1475,8 +1480,8 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
servarr_data::sonarr::{modals::AddSeriesModal, sonarr_data::ADD_SERIES_SELECTION_BLOCKS},
|
|
||||||
BlockSelectionState,
|
BlockSelectionState,
|
||||||
|
servarr_data::sonarr::{modals::AddSeriesModal, sonarr_data::ADD_SERIES_SELECTION_BLOCKS},
|
||||||
},
|
},
|
||||||
network::sonarr_network::SonarrEvent,
|
network::sonarr_network::SonarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::library::delete_series_handler::DeleteSeriesHandler;
|
use crate::handlers::sonarr_handlers::library::delete_series_handler::DeleteSeriesHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DELETE_SERIES_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DELETE_SERIES_BLOCKS};
|
||||||
use crate::models::sonarr_models::DeleteSeriesParams;
|
use crate::models::sonarr_models::DeleteSeriesParams;
|
||||||
|
|
||||||
@@ -17,8 +17,8 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
|
|
||||||
use crate::models::BlockSelectionState;
|
use crate::models::BlockSelectionState;
|
||||||
|
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -86,8 +86,8 @@ mod tests {
|
|||||||
mod test_handle_submit {
|
mod test_handle_submit {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
|
|
||||||
use crate::models::BlockSelectionState;
|
use crate::models::BlockSelectionState;
|
||||||
|
use crate::models::servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS;
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -119,7 +119,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert!(!app.data.sonarr_data.delete_series_files);
|
assert!(!app.data.sonarr_data.delete_series_files);
|
||||||
assert!(!app.data.sonarr_data.add_list_exclusion);
|
assert!(!app.data.sonarr_data.add_list_exclusion);
|
||||||
@@ -188,7 +188,7 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::DeleteSeriesPrompt.into()
|
ActiveSonarrBlock::DeleteSeriesPrompt.into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert!(app.data.sonarr_data.delete_series_files);
|
assert!(app.data.sonarr_data.delete_series_files);
|
||||||
@@ -263,7 +263,7 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::sonarr::sonarr_data::DELETE_SERIES_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::sonarr_network::SonarrEvent,
|
network::sonarr_network::SonarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::library::edit_series_handler::EditSeriesHandler;
|
use crate::handlers::sonarr_handlers::library::edit_series_handler::EditSeriesHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::sonarr::modals::EditSeriesModal;
|
use crate::models::servarr_data::sonarr::modals::EditSeriesModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_SERIES_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_SERIES_BLOCKS};
|
||||||
use crate::models::sonarr_models::{EditSeriesParams, Series, SeriesType};
|
use crate::models::sonarr_models::{EditSeriesParams, Series, SeriesType};
|
||||||
@@ -22,9 +22,9 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::sonarr::modals::EditSeriesModal;
|
use crate::models::servarr_data::sonarr::modals::EditSeriesModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_SERIES_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_SERIES_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -698,15 +698,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_series_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_series_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.path
|
.unwrap()
|
||||||
.text
|
.path
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -731,15 +733,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_series_modal
|
.sonarr_data
|
||||||
.as_mut()
|
.edit_series_modal
|
||||||
.unwrap()
|
.as_mut()
|
||||||
.tags
|
.unwrap()
|
||||||
.text
|
.tags
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EditSeriesPrompt.into());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -765,7 +769,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -856,7 +860,7 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditSeriesPrompt.into()
|
ActiveSonarrBlock::EditSeriesPrompt.into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert!(!app.should_refresh);
|
assert!(!app.should_refresh);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -881,7 +885,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -889,7 +893,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.monitored,
|
.monitored,
|
||||||
Some(true)
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
EditSeriesHandler::new(
|
EditSeriesHandler::new(
|
||||||
@@ -901,7 +905,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -909,7 +913,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.monitored,
|
.monitored,
|
||||||
Some(false)
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -935,7 +939,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -943,7 +947,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.use_season_folders,
|
.use_season_folders,
|
||||||
Some(true)
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
EditSeriesHandler::new(
|
EditSeriesHandler::new(
|
||||||
@@ -955,7 +959,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), current_route);
|
assert_eq!(app.get_current_route(), current_route);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -963,7 +967,7 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.use_season_folders,
|
.use_season_folders,
|
||||||
Some(false)
|
false
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1002,7 +1006,7 @@ mod tests {
|
|||||||
app,
|
app,
|
||||||
(selected_block, Some(ActiveSonarrBlock::Series)).into()
|
(selected_block, Some(ActiveSonarrBlock::Series)).into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
|
|
||||||
if selected_block == ActiveSonarrBlock::EditSeriesPathInput
|
if selected_block == ActiveSonarrBlock::EditSeriesPathInput
|
||||||
|| selected_block == ActiveSonarrBlock::EditSeriesTagsInput
|
|| selected_block == ActiveSonarrBlock::EditSeriesTagsInput
|
||||||
@@ -1045,7 +1049,7 @@ mod tests {
|
|||||||
)
|
)
|
||||||
.into()
|
.into()
|
||||||
);
|
);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1158,10 +1162,10 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
assert_navigation_popped,
|
assert_navigation_popped,
|
||||||
models::{
|
models::{
|
||||||
|
BlockSelectionState,
|
||||||
servarr_data::sonarr::{
|
servarr_data::sonarr::{
|
||||||
modals::EditSeriesModal, sonarr_data::EDIT_SERIES_SELECTION_BLOCKS,
|
modals::EditSeriesModal, sonarr_data::EDIT_SERIES_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
BlockSelectionState,
|
|
||||||
},
|
},
|
||||||
network::sonarr_network::SonarrEvent,
|
network::sonarr_network::SonarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::library::episode_details_handler::EpisodeDetailsHandler;
|
use crate::handlers::sonarr_handlers::library::episode_details_handler::EpisodeDetailsHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::episode;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::episode;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::sonarr::modals::{EpisodeDetailsModal, SeasonDetailsModal};
|
use crate::models::servarr_data::sonarr::modals::{EpisodeDetailsModal, SeasonDetailsModal};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data;
|
use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
@@ -238,9 +238,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_pushed!(app, active_sonarr_block.into());
|
assert_navigation_pushed!(app, active_sonarr_block.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -262,14 +262,14 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
||||||
guid: String::new(),
|
guid: String::new(),
|
||||||
indexer_id: 0,
|
indexer_id: 0,
|
||||||
episode_id: Some(0),
|
episode_id: Some(0),
|
||||||
..SonarrReleaseDownloadBody::default()
|
..SonarrReleaseDownloadBody::default()
|
||||||
}))
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -290,7 +290,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::EpisodeDetails.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::EpisodeDetails.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -400,14 +400,15 @@ mod tests {
|
|||||||
EpisodeDetailsHandler::new(ESC_KEY, &mut app, active_sonarr_block, None).handle();
|
EpisodeDetailsHandler::new(ESC_KEY, &mut app, active_sonarr_block, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into());
|
||||||
assert!(app
|
assert_none!(
|
||||||
.data
|
app
|
||||||
.sonarr_data
|
.data
|
||||||
.season_details_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.season_details_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.episode_details_modal
|
.unwrap()
|
||||||
.is_none());
|
.episode_details_modal
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -560,9 +561,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, active_sonarr_block.into());
|
assert_navigation_popped!(app, active_sonarr_block.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::TriggerAutomaticEpisodeSearch(1))
|
&SonarrEvent::TriggerAutomaticEpisodeSearch(1)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -584,14 +585,14 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::ManualEpisodeSearch.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
||||||
guid: String::new(),
|
guid: String::new(),
|
||||||
indexer_id: 0,
|
indexer_id: 0,
|
||||||
episode_id: Some(0),
|
episode_id: Some(0),
|
||||||
..SonarrReleaseDownloadBody::default()
|
..SonarrReleaseDownloadBody::default()
|
||||||
}))
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,17 +5,17 @@ mod tests {
|
|||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::library::{series_sorting_options, LibraryHandler};
|
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::library::{LibraryHandler, series_sorting_options};
|
||||||
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::series;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
ActiveSonarrBlock, ADD_SERIES_BLOCKS, DELETE_SERIES_BLOCKS, EDIT_SERIES_BLOCKS,
|
ADD_SERIES_BLOCKS, ActiveSonarrBlock, DELETE_SERIES_BLOCKS, EDIT_SERIES_BLOCKS,
|
||||||
EPISODE_DETAILS_BLOCKS, LIBRARY_BLOCKS, SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS,
|
EPISODE_DETAILS_BLOCKS, LIBRARY_BLOCKS, SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::sonarr_models::{Series, SeriesStatistics, SeriesStatus, SeriesType};
|
use crate::models::sonarr_models::{Series, SeriesStatistics, SeriesStatus, SeriesType};
|
||||||
@@ -207,9 +207,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::UpdateAllSeries)
|
&SonarrEvent::UpdateAllSeries
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
}
|
}
|
||||||
@@ -234,7 +234,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -279,7 +279,7 @@ mod tests {
|
|||||||
LibraryHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Series, None).handle();
|
LibraryHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::Series, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,8 +288,8 @@ mod tests {
|
|||||||
use serde_json::Number;
|
use serde_json::Number;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data;
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::SonarrData;
|
use crate::models::servarr_data::sonarr::sonarr_data::SonarrData;
|
||||||
|
use crate::models::servarr_data::sonarr::sonarr_data::sonarr_test_utils::utils::create_test_sonarr_data;
|
||||||
use crate::models::sonarr_models::SeriesType;
|
use crate::models::sonarr_models::SeriesType;
|
||||||
|
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
@@ -393,9 +393,9 @@ mod tests {
|
|||||||
assert_eq!(app.get_current_route(), ActiveSonarrBlock::Series.into());
|
assert_eq!(app.get_current_route(), ActiveSonarrBlock::Series.into());
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert!(app.is_routing);
|
assert!(app.is_routing);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::ToggleSeriesMonitoring(0))
|
&SonarrEvent::ToggleSeriesMonitoring(0)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -527,9 +527,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::UpdateAllSeries)
|
&SonarrEvent::UpdateAllSeries
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::Series.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -290,9 +290,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, active_sonarr_block.into());
|
assert_navigation_popped!(app, active_sonarr_block.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -314,15 +314,15 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
||||||
guid: String::new(),
|
guid: String::new(),
|
||||||
indexer_id: 0,
|
indexer_id: 0,
|
||||||
series_id: Some(0),
|
series_id: Some(0),
|
||||||
season_number: Some(0),
|
season_number: Some(0),
|
||||||
..SonarrReleaseDownloadBody::default()
|
..SonarrReleaseDownloadBody::default()
|
||||||
}))
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -344,7 +344,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::SeasonDetails.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -468,7 +468,7 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::SeasonHistory.into()
|
ActiveSonarrBlock::SeasonHistory.into()
|
||||||
);
|
);
|
||||||
assert!(
|
assert_none!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -477,9 +477,8 @@ mod tests {
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
.season_history
|
.season_history
|
||||||
.filter
|
.filter
|
||||||
.is_none()
|
|
||||||
);
|
);
|
||||||
assert!(
|
assert_none!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -488,9 +487,8 @@ mod tests {
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
.season_history
|
.season_history
|
||||||
.filtered_items
|
.filtered_items
|
||||||
.is_none()
|
|
||||||
);
|
);
|
||||||
assert!(
|
assert_none!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -499,7 +497,6 @@ mod tests {
|
|||||||
.unwrap()
|
.unwrap()
|
||||||
.season_history
|
.season_history
|
||||||
.filtered_state
|
.filtered_state
|
||||||
.is_none()
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -560,9 +557,9 @@ mod tests {
|
|||||||
);
|
);
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert!(app.is_routing);
|
assert!(app.is_routing);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::ToggleEpisodeMonitoring(1))
|
&SonarrEvent::ToggleEpisodeMonitoring(1)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -725,9 +722,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, active_sonarr_block.into());
|
assert_navigation_popped!(app, active_sonarr_block.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -749,15 +746,15 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::ManualSeasonSearch.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
&SonarrEvent::DownloadRelease(SonarrReleaseDownloadBody {
|
||||||
guid: String::new(),
|
guid: String::new(),
|
||||||
indexer_id: 0,
|
indexer_id: 0,
|
||||||
series_id: Some(0),
|
series_id: Some(0),
|
||||||
season_number: Some(0),
|
season_number: Some(0),
|
||||||
..SonarrReleaseDownloadBody::default()
|
..SonarrReleaseDownloadBody::default()
|
||||||
}))
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -197,9 +197,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -219,7 +219,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::SeriesDetails.into());
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -289,17 +289,8 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::SeriesHistory.into()
|
ActiveSonarrBlock::SeriesHistory.into()
|
||||||
);
|
);
|
||||||
assert!(
|
assert_none!(app.data.sonarr_data.series_history.as_ref().unwrap().filter);
|
||||||
app
|
assert_none!(
|
||||||
.data
|
|
||||||
.sonarr_data
|
|
||||||
.series_history
|
|
||||||
.as_ref()
|
|
||||||
.unwrap()
|
|
||||||
.filter
|
|
||||||
.is_none()
|
|
||||||
);
|
|
||||||
assert!(
|
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -307,9 +298,8 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.filtered_items
|
.filtered_items
|
||||||
.is_none()
|
|
||||||
);
|
);
|
||||||
assert!(
|
assert_none!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
.sonarr_data
|
.sonarr_data
|
||||||
@@ -317,7 +307,6 @@ mod tests {
|
|||||||
.as_ref()
|
.as_ref()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.filtered_state
|
.filtered_state
|
||||||
.is_none()
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -387,9 +376,9 @@ mod tests {
|
|||||||
);
|
);
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert!(app.is_routing);
|
assert!(app.is_routing);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::ToggleSeasonMonitoring((0, 0)))
|
&SonarrEvent::ToggleSeasonMonitoring((0, 0))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -581,9 +570,9 @@ mod tests {
|
|||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_navigation_popped!(app, active_sonarr_block.into());
|
assert_navigation_popped!(app, active_sonarr_block.into());
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(expected_action)
|
&expected_action
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,18 +4,18 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::root_folders::RootFoldersHandler;
|
use crate::handlers::sonarr_handlers::root_folders::RootFoldersHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::root_folder;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::root_folder;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ROOT_FOLDERS_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, ROOT_FOLDERS_BLOCKS};
|
||||||
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
|
|
||||||
mod test_handle_home_end {
|
mod test_handle_home_end {
|
||||||
use crate::models::servarr_models::RootFolder;
|
use crate::models::servarr_models::RootFolder;
|
||||||
@@ -341,9 +341,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DeleteRootFolder(1))
|
&SonarrEvent::DeleteRootFolder(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
||||||
}
|
}
|
||||||
@@ -368,7 +368,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -433,7 +433,7 @@ mod tests {
|
|||||||
RootFoldersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::RootFolders, None).handle();
|
RootFoldersHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::RootFolders, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -612,9 +612,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::DeleteRootFolder(1))
|
&SonarrEvent::DeleteRootFolder(1)
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::RootFolders.into());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
ActiveSonarrBlock, SYSTEM_DETAILS_BLOCKS,
|
ActiveSonarrBlock, SYSTEM_DETAILS_BLOCKS,
|
||||||
};
|
};
|
||||||
@@ -711,9 +711,9 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(app.data.sonarr_data.prompt_confirm);
|
assert!(app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
Some(SonarrEvent::StartTask(SonarrTaskName::default()))
|
&SonarrEvent::StartTask(SonarrTaskName::default())
|
||||||
);
|
);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::SystemTasks.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::SystemTasks.into());
|
||||||
}
|
}
|
||||||
@@ -734,7 +734,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.data.sonarr_data.prompt_confirm_action, None);
|
assert_none!(app.data.sonarr_data.prompt_confirm_action);
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::SystemTasks.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::SystemTasks.into());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -768,7 +768,7 @@ mod tests {
|
|||||||
SystemDetailsHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::SystemLogs, None).handle();
|
SystemDetailsHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::SystemLogs, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::System.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::System.into());
|
||||||
assert!(app.data.sonarr_data.log_details.items.is_empty());
|
assert_is_empty!(app.data.sonarr_data.log_details.items);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::system::SystemHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::system::SystemHandler;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
ActiveSonarrBlock, SYSTEM_DETAILS_BLOCKS,
|
ActiveSonarrBlock, SYSTEM_DETAILS_BLOCKS,
|
||||||
};
|
};
|
||||||
@@ -85,7 +85,7 @@ mod tests {
|
|||||||
SystemHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::System, None).handle();
|
SystemHandler::new(ESC_KEY, &mut app, ActiveSonarrBlock::System, None).handle();
|
||||||
|
|
||||||
assert_navigation_popped!(app, ActiveSonarrBlock::System.into());
|
assert_navigation_popped!(app, ActiveSonarrBlock::System.into());
|
||||||
assert!(app.error.text.is_empty());
|
assert_is_empty!(app.error.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -349,7 +349,7 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveSonarrBlock::System.into());
|
assert_eq!(app.get_current_route(), ActiveSonarrBlock::System.into());
|
||||||
assert!(app.data.sonarr_data.log_details.is_empty());
|
assert_is_empty!(app.data.sonarr_data.log_details);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::assert_modal_absent;
|
use crate::assert_modal_absent;
|
||||||
use crate::assert_modal_present;
|
use crate::assert_modal_present;
|
||||||
use crate::assert_navigation_pushed;
|
use crate::assert_navigation_pushed;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::table_handler::handle_table;
|
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
|
use crate::handlers::table_handler::handle_table;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::models::servarr_models::Language;
|
use crate::models::servarr_models::Language;
|
||||||
@@ -936,7 +936,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(app.data.radarr_data.movies.search, None);
|
assert_none!(app.data.radarr_data.movies.search);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
@@ -965,9 +965,9 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
assert_navigation_popped!(app, ActiveRadarrBlock::Movies.into());
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(app.data.radarr_data.movies.filter, None);
|
assert_none!(app.data.radarr_data.movies.filter);
|
||||||
assert_eq!(app.data.radarr_data.movies.filtered_items, None);
|
assert_none!(app.data.radarr_data.movies.filtered_items);
|
||||||
assert_eq!(app.data.radarr_data.movies.filtered_state, None);
|
assert_none!(app.data.radarr_data.movies.filtered_state);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1001,15 +1001,15 @@ mod tests {
|
|||||||
TableHandlerUnit::new(ESC_KEY, &mut app, ActiveRadarrBlock::Movies, None).handle();
|
TableHandlerUnit::new(ESC_KEY, &mut app, ActiveRadarrBlock::Movies, None).handle();
|
||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||||
assert_eq!(app.data.radarr_data.movies.filter, None);
|
assert_none!(app.data.radarr_data.movies.filter);
|
||||||
assert_eq!(app.data.radarr_data.movies.filtered_items, None);
|
assert_none!(app.data.radarr_data.movies.filtered_items);
|
||||||
assert_eq!(app.data.radarr_data.movies.filtered_state, None);
|
assert_none!(app.data.radarr_data.movies.filtered_state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mod test_handle_key_char {
|
mod test_handle_key_char {
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
|
||||||
use crate::models::HorizontallyScrollableText;
|
use crate::models::HorizontallyScrollableText;
|
||||||
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -1033,9 +1033,9 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_pushed!(app, ActiveRadarrBlock::SearchMovie.into());
|
assert_navigation_pushed!(app, ActiveRadarrBlock::SearchMovie.into());
|
||||||
assert!(app.ignore_special_keys_for_textbox_input);
|
assert!(app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.movies.search,
|
&app.data.radarr_data.movies.search,
|
||||||
Some(HorizontallyScrollableText::default())
|
&HorizontallyScrollableText::default()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1060,7 +1060,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(app.data.radarr_data.movies.search, None);
|
assert_none!(app.data.radarr_data.movies.search);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1082,7 +1082,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(app.data.radarr_data.movies.search, None);
|
assert_none!(app.data.radarr_data.movies.search);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1154,9 +1154,9 @@ mod tests {
|
|||||||
|
|
||||||
assert_navigation_pushed!(app, ActiveRadarrBlock::FilterMovies.into());
|
assert_navigation_pushed!(app, ActiveRadarrBlock::FilterMovies.into());
|
||||||
assert!(app.ignore_special_keys_for_textbox_input);
|
assert!(app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(
|
assert_some_eq_x!(
|
||||||
app.data.radarr_data.movies.filter,
|
&app.data.radarr_data.movies.filter,
|
||||||
Some(HorizontallyScrollableText::default())
|
&HorizontallyScrollableText::default()
|
||||||
);
|
);
|
||||||
assert_modal_absent!(app.data.radarr_data.movies.filtered_items);
|
assert_modal_absent!(app.data.radarr_data.movies.filtered_items);
|
||||||
assert_modal_absent!(app.data.radarr_data.movies.filtered_state);
|
assert_modal_absent!(app.data.radarr_data.movies.filtered_state);
|
||||||
@@ -1181,7 +1181,7 @@ mod tests {
|
|||||||
|
|
||||||
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
assert_eq!(app.get_current_route(), ActiveRadarrBlock::Movies.into());
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert_eq!(app.data.radarr_data.movies.filter, None);
|
assert_none!(app.data.radarr_data.movies.filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
Reference in New Issue
Block a user