Refactored the ErrorMessage widget into a generic Message widget for enhanced reuse. Added support for testing a single indexer at a time.

This commit is contained in:
2024-02-15 11:11:10 -07:00
parent b49bfaa9c1
commit a360c83431
23 changed files with 418 additions and 78 deletions
@@ -59,6 +59,7 @@ pub struct RadarrData<'a> {
pub edit_indexer_modal: Option<EditIndexerModal>,
pub edit_root_folder: Option<HorizontallyScrollableText>,
pub indexer_settings: Option<IndexerSettings>,
pub indexer_test_error: Option<String>,
pub indexer_test_all_results: Option<StatefulTable<IndexerTestResultModalItem>>,
pub movie_details_modal: Option<MovieDetailsModal>,
pub prompt_confirm: bool,
@@ -107,6 +108,7 @@ impl<'a> Default for RadarrData<'a> {
edit_indexer_modal: None,
edit_root_folder: None,
indexer_settings: None,
indexer_test_error: None,
indexer_test_all_results: None,
movie_details_modal: None,
prompt_confirm: false,
@@ -279,6 +281,7 @@ pub enum ActiveRadarrBlock {
SystemTasks,
SystemTaskStartConfirmPrompt,
SystemUpdates,
TestIndexer,
TestAllIndexers,
UpdateAndScanPrompt,
UpdateAllCollectionsPrompt,
@@ -309,10 +312,11 @@ pub static COLLECTIONS_BLOCKS: [ActiveRadarrBlock; 7] = [
ActiveRadarrBlock::FilterCollectionsError,
ActiveRadarrBlock::UpdateAllCollectionsPrompt,
];
pub static INDEXERS_BLOCKS: [ActiveRadarrBlock; 3] = [
pub static INDEXERS_BLOCKS: [ActiveRadarrBlock; 4] = [
ActiveRadarrBlock::AddIndexer,
ActiveRadarrBlock::DeleteIndexerPrompt,
ActiveRadarrBlock::Indexers,
ActiveRadarrBlock::TestIndexer,
];
pub static ROOT_FOLDERS_BLOCKS: [ActiveRadarrBlock; 3] = [
ActiveRadarrBlock::RootFolders,
@@ -81,6 +81,7 @@ mod tests {
assert!(radarr_data.edit_root_folder.is_none());
assert!(radarr_data.edit_indexer_modal.is_none());
assert!(radarr_data.indexer_settings.is_none());
assert!(radarr_data.indexer_test_error.is_none());
assert!(radarr_data.indexer_test_all_results.is_none());
assert!(radarr_data.movie_details_modal.is_none());
assert!(radarr_data.prompt_confirm_action.is_none());
@@ -280,10 +281,11 @@ mod tests {
#[test]
fn test_indexers_blocks_contents() {
assert_eq!(INDEXERS_BLOCKS.len(), 3);
assert_eq!(INDEXERS_BLOCKS.len(), 4);
assert!(INDEXERS_BLOCKS.contains(&ActiveRadarrBlock::AddIndexer));
assert!(INDEXERS_BLOCKS.contains(&ActiveRadarrBlock::DeleteIndexerPrompt));
assert!(INDEXERS_BLOCKS.contains(&ActiveRadarrBlock::Indexers));
assert!(INDEXERS_BLOCKS.contains(&ActiveRadarrBlock::TestIndexer));
}
#[test]