Refactored the filter and search logic to follow the established modal logic and added some refactored functions to the UI module as well to clean up the UI code too

This commit is contained in:
2023-08-10 16:43:57 -06:00
parent ce12ebd301
commit f7cb832095
15 changed files with 695 additions and 463 deletions
+11 -11
View File
@@ -287,7 +287,9 @@ pub enum ActiveRadarrBlock {
EditMovieToggleMonitored,
FileInfo,
FilterCollections,
FilterCollectionsError,
FilterMovies,
FilterMoviesError,
Indexers,
IndexerSettingsPrompt,
IndexerSettingsAvailabilityDelayInput,
@@ -317,21 +319,27 @@ pub enum ActiveRadarrBlock {
UpdateAllCollectionsPrompt,
UpdateAllMoviesPrompt,
UpdateDownloadsPrompt,
SearchMovie,
SearchCollection,
SearchCollectionError,
SearchMovie,
SearchMovieError,
ViewMovieOverview,
}
pub static LIBRARY_BLOCKS: [ActiveRadarrBlock; 4] = [
pub static LIBRARY_BLOCKS: [ActiveRadarrBlock; 6] = [
ActiveRadarrBlock::Movies,
ActiveRadarrBlock::SearchMovie,
ActiveRadarrBlock::SearchMovieError,
ActiveRadarrBlock::FilterMovies,
ActiveRadarrBlock::FilterMoviesError,
ActiveRadarrBlock::UpdateAllMoviesPrompt,
];
pub static COLLECTIONS_BLOCKS: [ActiveRadarrBlock; 4] = [
pub static COLLECTIONS_BLOCKS: [ActiveRadarrBlock; 6] = [
ActiveRadarrBlock::Collections,
ActiveRadarrBlock::SearchCollection,
ActiveRadarrBlock::SearchCollectionError,
ActiveRadarrBlock::FilterCollections,
ActiveRadarrBlock::FilterCollectionsError,
ActiveRadarrBlock::UpdateAllCollectionsPrompt,
];
pub static INDEXERS_BLOCKS: [ActiveRadarrBlock; 4] = [
@@ -420,14 +428,6 @@ pub static COLLECTION_DETAILS_BLOCKS: [ActiveRadarrBlock; 2] = [
ActiveRadarrBlock::CollectionDetails,
ActiveRadarrBlock::ViewMovieOverview,
];
pub static SEARCH_BLOCKS: [ActiveRadarrBlock; 2] = [
ActiveRadarrBlock::SearchMovie,
ActiveRadarrBlock::SearchCollection,
];
pub static FILTER_BLOCKS: [ActiveRadarrBlock; 2] = [
ActiveRadarrBlock::FilterMovies,
ActiveRadarrBlock::FilterCollections,
];
pub static DELETE_MOVIE_BLOCKS: [ActiveRadarrBlock; 4] = [
ActiveRadarrBlock::DeleteMoviePrompt,
ActiveRadarrBlock::DeleteMovieConfirmPrompt,
@@ -1,7 +1,6 @@
#[cfg(test)]
mod tests {
mod radarr_data_tests {
use chrono::{DateTime, Utc};
use pretty_assertions::{assert_eq, assert_str_eq};
@@ -279,26 +278,30 @@ mod tests {
ActiveRadarrBlock, ADD_MOVIE_BLOCKS, ADD_MOVIE_SELECTION_BLOCKS, COLLECTIONS_BLOCKS,
COLLECTION_DETAILS_BLOCKS, DELETE_MOVIE_BLOCKS, DELETE_MOVIE_SELECTION_BLOCKS,
DOWNLOADS_BLOCKS, EDIT_COLLECTION_BLOCKS, EDIT_COLLECTION_SELECTION_BLOCKS,
EDIT_MOVIE_BLOCKS, EDIT_MOVIE_SELECTION_BLOCKS, FILTER_BLOCKS, INDEXERS_BLOCKS,
INDEXER_SETTINGS_BLOCKS, INDEXER_SETTINGS_SELECTION_BLOCKS, LIBRARY_BLOCKS,
MOVIE_DETAILS_BLOCKS, ROOT_FOLDERS_BLOCKS, SEARCH_BLOCKS, SYSTEM_DETAILS_BLOCKS,
EDIT_MOVIE_BLOCKS, EDIT_MOVIE_SELECTION_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS,
INDEXER_SETTINGS_SELECTION_BLOCKS, LIBRARY_BLOCKS, MOVIE_DETAILS_BLOCKS, ROOT_FOLDERS_BLOCKS,
SYSTEM_DETAILS_BLOCKS,
};
#[test]
fn test_library_blocks_contents() {
assert_eq!(LIBRARY_BLOCKS.len(), 4);
assert_eq!(LIBRARY_BLOCKS.len(), 6);
assert!(LIBRARY_BLOCKS.contains(&ActiveRadarrBlock::Movies));
assert!(LIBRARY_BLOCKS.contains(&ActiveRadarrBlock::SearchMovie));
assert!(LIBRARY_BLOCKS.contains(&ActiveRadarrBlock::SearchMovieError));
assert!(LIBRARY_BLOCKS.contains(&ActiveRadarrBlock::FilterMovies));
assert!(LIBRARY_BLOCKS.contains(&ActiveRadarrBlock::FilterMoviesError));
assert!(LIBRARY_BLOCKS.contains(&ActiveRadarrBlock::UpdateAllMoviesPrompt));
}
#[test]
fn test_collections_blocks_contents() {
assert_eq!(COLLECTIONS_BLOCKS.len(), 4);
assert_eq!(COLLECTIONS_BLOCKS.len(), 6);
assert!(COLLECTIONS_BLOCKS.contains(&ActiveRadarrBlock::Collections));
assert!(COLLECTIONS_BLOCKS.contains(&ActiveRadarrBlock::SearchCollection));
assert!(COLLECTIONS_BLOCKS.contains(&ActiveRadarrBlock::SearchCollectionError));
assert!(COLLECTIONS_BLOCKS.contains(&ActiveRadarrBlock::FilterCollections));
assert!(COLLECTIONS_BLOCKS.contains(&ActiveRadarrBlock::FilterCollectionsError));
assert!(COLLECTIONS_BLOCKS.contains(&ActiveRadarrBlock::UpdateAllCollectionsPrompt));
}
@@ -393,20 +396,6 @@ mod tests {
assert!(COLLECTION_DETAILS_BLOCKS.contains(&ActiveRadarrBlock::ViewMovieOverview));
}
#[test]
fn test_search_blocks_contents() {
assert_eq!(SEARCH_BLOCKS.len(), 2);
assert!(SEARCH_BLOCKS.contains(&ActiveRadarrBlock::SearchMovie));
assert!(SEARCH_BLOCKS.contains(&ActiveRadarrBlock::SearchCollection));
}
#[test]
fn test_filter_blocks_contents() {
assert_eq!(FILTER_BLOCKS.len(), 2);
assert!(FILTER_BLOCKS.contains(&ActiveRadarrBlock::FilterMovies));
assert!(FILTER_BLOCKS.contains(&ActiveRadarrBlock::FilterCollections));
}
#[test]
fn test_delete_movie_blocks_contents() {
assert_eq!(DELETE_MOVIE_BLOCKS.len(), 4);