feat(ui): Downloads tab support
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use downloads::DownloadsHandler;
|
||||
use library::LibraryHandler;
|
||||
|
||||
use crate::{
|
||||
@@ -32,6 +33,9 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for SonarrHandler<'a, 'b
|
||||
_ if LibraryHandler::accepts(self.active_sonarr_block) => {
|
||||
LibraryHandler::with(self.key, self.app, self.active_sonarr_block, self.context).handle();
|
||||
}
|
||||
_ if DownloadsHandler::accepts(self.active_sonarr_block) => {
|
||||
DownloadsHandler::with(self.key, self.app, self.active_sonarr_block, self.context).handle()
|
||||
}
|
||||
_ => self.handle_key_event(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,36 +48,28 @@ mod tests {
|
||||
#[rstest]
|
||||
fn test_delegates_library_blocks_to_library_handler(
|
||||
#[values(
|
||||
// ActiveSonarrBlock::AddSeriesAlreadyInLibrary,
|
||||
// ActiveSonarrBlock::AddSeriesConfirmPrompt,
|
||||
// ActiveSonarrBlock::AddSeriesEmptySearchResults,
|
||||
// ActiveSonarrBlock::AddSeriesPrompt,
|
||||
// ActiveSonarrBlock::AddSeriesSearchInput,
|
||||
// ActiveSonarrBlock::AddSeriesSearchResults,
|
||||
// ActiveSonarrBlock::AddSeriesSelectLanguageProfile,
|
||||
// ActiveSonarrBlock::AddSeriesSelectMonitor,
|
||||
// ActiveSonarrBlock::AddSeriesSelectQualityProfile,
|
||||
// ActiveSonarrBlock::AddSeriesSelectRootFolder,
|
||||
// ActiveSonarrBlock::AddSeriesSelectSeriesType,
|
||||
// ActiveSonarrBlock::AddSeriesTagsInput,
|
||||
// ActiveSonarrBlock::AddSeriesToggleUseSeasonFolder,
|
||||
ActiveSonarrBlock::AddSeriesAlreadyInLibrary,
|
||||
ActiveSonarrBlock::AddSeriesEmptySearchResults,
|
||||
ActiveSonarrBlock::AddSeriesPrompt,
|
||||
ActiveSonarrBlock::AddSeriesSearchInput,
|
||||
ActiveSonarrBlock::AddSeriesSearchResults,
|
||||
ActiveSonarrBlock::AddSeriesSelectLanguageProfile,
|
||||
ActiveSonarrBlock::AddSeriesSelectMonitor,
|
||||
ActiveSonarrBlock::AddSeriesSelectQualityProfile,
|
||||
ActiveSonarrBlock::AddSeriesSelectRootFolder,
|
||||
ActiveSonarrBlock::AddSeriesSelectSeriesType,
|
||||
ActiveSonarrBlock::AddSeriesTagsInput,
|
||||
// ActiveSonarrBlock::AutomaticallySearchEpisodePrompt,
|
||||
// ActiveSonarrBlock::AutomaticallySearchSeasonPrompt,
|
||||
// ActiveSonarrBlock::AutomaticallySearchSeriesPrompt,
|
||||
// ActiveSonarrBlock::DeleteEpisodeFilePrompt,
|
||||
// ActiveSonarrBlock::DeleteSeriesConfirmPrompt,
|
||||
// ActiveSonarrBlock::DeleteSeriesPrompt,
|
||||
// ActiveSonarrBlock::DeleteSeriesToggleAddListExclusion,
|
||||
// ActiveSonarrBlock::DeleteSeriesToggleDeleteFile,
|
||||
// ActiveSonarrBlock::EditSeriesPrompt,
|
||||
// ActiveSonarrBlock::EditSeriesConfirmPrompt,
|
||||
// ActiveSonarrBlock::EditSeriesPathInput,
|
||||
// ActiveSonarrBlock::EditSeriesSelectSeriesType,
|
||||
// ActiveSonarrBlock::EditSeriesSelectQualityProfile,
|
||||
// ActiveSonarrBlock::EditSeriesSelectLanguageProfile,
|
||||
// ActiveSonarrBlock::EditSeriesTagsInput,
|
||||
// ActiveSonarrBlock::EditSeriesToggleMonitored,
|
||||
// ActiveSonarrBlock::EditSeriesToggleSeasonFolder,
|
||||
ActiveSonarrBlock::DeleteSeriesPrompt,
|
||||
ActiveSonarrBlock::EditSeriesPrompt,
|
||||
ActiveSonarrBlock::EditSeriesPathInput,
|
||||
ActiveSonarrBlock::EditSeriesSelectSeriesType,
|
||||
ActiveSonarrBlock::EditSeriesSelectQualityProfile,
|
||||
ActiveSonarrBlock::EditSeriesSelectLanguageProfile,
|
||||
ActiveSonarrBlock::EditSeriesTagsInput,
|
||||
// ActiveSonarrBlock::EpisodeDetails,
|
||||
// ActiveSonarrBlock::EpisodeFile,
|
||||
// ActiveSonarrBlock::EpisodeHistory,
|
||||
@@ -119,4 +111,20 @@ mod tests {
|
||||
active_sonarr_block
|
||||
);
|
||||
}
|
||||
|
||||
#[rstest]
|
||||
fn test_delegates_downloads_blocks_to_downloads_handler(
|
||||
#[values(
|
||||
ActiveSonarrBlock::Downloads,
|
||||
ActiveSonarrBlock::DeleteDownloadPrompt,
|
||||
ActiveSonarrBlock::UpdateDownloadsPrompt
|
||||
)]
|
||||
active_sonarr_block: ActiveSonarrBlock,
|
||||
) {
|
||||
test_handler_delegation!(
|
||||
SonarrHandler,
|
||||
ActiveSonarrBlock::Downloads,
|
||||
active_sonarr_block
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user