feat(readarr): add the indexers handlers

Add IndexersHandler and its three sub-handlers, EditIndexerHandler, IndexerSettingsHandler and TestAllIndexersHandler, and dispatch to them from ReadarrHandler.

IndexersHandler::accepts ORs in all three children, so the parent and the children land together. Splitting would leave eighteen blocks accepted but inert, with Esc falling through to handle_clear_errors instead of popping.

TestAllIndexersHandler::accepts compares the block for equality rather than consulting an array, since TestAllIndexers appears in no block array.
This commit is contained in:
Dark-Alex-17 committed 2026-09-08 10:10:25 -06:00
1 parent 70441259a0
commit a7178a481b
10 files changed
+4525

No files matched your search

@@ -247,6 +247,30 @@ mod tests {
);
}
#[rstest]
fn test_delegates_indexers_blocks_to_indexers_handler(
#[values(
ActiveReadarrBlock::Indexers,
ActiveReadarrBlock::DeleteIndexerPrompt,
ActiveReadarrBlock::TestIndexer,
ActiveReadarrBlock::TestAllIndexers,
ActiveReadarrBlock::EditIndexerPrompt,
ActiveReadarrBlock::AllIndexerSettingsPrompt,
ActiveReadarrBlock::IndexerSettingsConfirmPrompt,
ActiveReadarrBlock::IndexerSettingsMaximumSizeInput,
ActiveReadarrBlock::IndexerSettingsMinimumAgeInput,
ActiveReadarrBlock::IndexerSettingsRetentionInput,
ActiveReadarrBlock::IndexerSettingsRssSyncIntervalInput
)]
active_readarr_block: ActiveReadarrBlock,
) {
test_handler_delegation!(
ReadarrHandler,
ActiveReadarrBlock::Indexers,
active_readarr_block
);
}
#[rstest]
fn test_delegates_system_blocks_to_system_handler(
#[values(