feat(handler): Full handler support for the Season details UI in Sonarr
This commit is contained in:
@@ -329,22 +329,22 @@ impl Default for SeasonDetailsModal {
|
||||
TabRoute {
|
||||
title: "Episodes",
|
||||
route: ActiveSonarrBlock::SeasonDetails.into(),
|
||||
help: build_context_clue_string(&SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES),
|
||||
contextual_help: Some(build_context_clue_string(&SEASON_DETAILS_CONTEXT_CLUES)),
|
||||
help: build_context_clue_string(&SEASON_DETAILS_CONTEXT_CLUES),
|
||||
contextual_help: Some(build_context_clue_string(&SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES)),
|
||||
},
|
||||
TabRoute {
|
||||
title: "History",
|
||||
route: ActiveSonarrBlock::SeasonHistory.into(),
|
||||
help: build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES),
|
||||
contextual_help: Some(build_context_clue_string(&SEASON_HISTORY_CONTEXT_CLUES)),
|
||||
help: build_context_clue_string(&SEASON_HISTORY_CONTEXT_CLUES),
|
||||
contextual_help: Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)),
|
||||
},
|
||||
TabRoute {
|
||||
title: "Manual Search",
|
||||
route: ActiveSonarrBlock::ManualSeasonSearch.into(),
|
||||
help: build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES),
|
||||
contextual_help: Some(build_context_clue_string(
|
||||
help: build_context_clue_string(
|
||||
&MANUAL_SEASON_SEARCH_CONTEXT_CLUES,
|
||||
)),
|
||||
),
|
||||
contextual_help: Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)),
|
||||
},
|
||||
]),
|
||||
}
|
||||
|
||||
@@ -338,11 +338,11 @@ mod tests {
|
||||
);
|
||||
assert_str_eq!(
|
||||
season_details_modal.season_details_tabs.tabs[0].help,
|
||||
build_context_clue_string(&SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES)
|
||||
build_context_clue_string(&SEASON_DETAILS_CONTEXT_CLUES)
|
||||
);
|
||||
assert_eq!(
|
||||
season_details_modal.season_details_tabs.tabs[0].contextual_help,
|
||||
Some(build_context_clue_string(&SEASON_DETAILS_CONTEXT_CLUES))
|
||||
Some(build_context_clue_string(&SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES))
|
||||
);
|
||||
|
||||
assert_str_eq!(
|
||||
@@ -355,11 +355,11 @@ mod tests {
|
||||
);
|
||||
assert_str_eq!(
|
||||
season_details_modal.season_details_tabs.tabs[1].help,
|
||||
build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)
|
||||
build_context_clue_string(&SEASON_HISTORY_CONTEXT_CLUES)
|
||||
);
|
||||
assert_eq!(
|
||||
season_details_modal.season_details_tabs.tabs[1].contextual_help,
|
||||
Some(build_context_clue_string(&SEASON_HISTORY_CONTEXT_CLUES))
|
||||
Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES))
|
||||
);
|
||||
|
||||
assert_str_eq!(
|
||||
@@ -372,12 +372,12 @@ mod tests {
|
||||
);
|
||||
assert_str_eq!(
|
||||
season_details_modal.season_details_tabs.tabs[2].help,
|
||||
build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)
|
||||
build_context_clue_string(&MANUAL_SEASON_SEARCH_CONTEXT_CLUES)
|
||||
);
|
||||
assert_eq!(
|
||||
season_details_modal.season_details_tabs.tabs[2].contextual_help,
|
||||
Some(build_context_clue_string(
|
||||
&MANUAL_SEASON_SEARCH_CONTEXT_CLUES
|
||||
&DETAILS_CONTEXTUAL_CONTEXT_CLUES
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -333,11 +333,11 @@ pub static SERIES_DETAILS_BLOCKS: [ActiveSonarrBlock; 12] = [
|
||||
ActiveSonarrBlock::SeriesHistoryDetails,
|
||||
];
|
||||
|
||||
pub static SEASON_DETAILS_BLOCKS: [ActiveSonarrBlock; 14] = [
|
||||
pub static SEASON_DETAILS_BLOCKS: [ActiveSonarrBlock; 15] = [
|
||||
ActiveSonarrBlock::SeasonDetails,
|
||||
ActiveSonarrBlock::SeasonHistory,
|
||||
ActiveSonarrBlock::SearchSeason,
|
||||
ActiveSonarrBlock::SearchSeasonError,
|
||||
ActiveSonarrBlock::SearchEpisodes,
|
||||
ActiveSonarrBlock::SearchEpisodesError,
|
||||
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt,
|
||||
ActiveSonarrBlock::SearchSeasonHistory,
|
||||
ActiveSonarrBlock::SearchSeasonHistoryError,
|
||||
@@ -348,6 +348,7 @@ pub static SEASON_DETAILS_BLOCKS: [ActiveSonarrBlock; 14] = [
|
||||
ActiveSonarrBlock::ManualSeasonSearch,
|
||||
ActiveSonarrBlock::ManualSeasonSearchConfirmPrompt,
|
||||
ActiveSonarrBlock::ManualSeasonSearchSortPrompt,
|
||||
ActiveSonarrBlock::DeleteEpisodeFilePrompt,
|
||||
];
|
||||
|
||||
pub static ADD_SERIES_BLOCKS: [ActiveSonarrBlock; 13] = [
|
||||
|
||||
@@ -608,11 +608,11 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_season_details_blocks_contents() {
|
||||
assert_eq!(SEASON_DETAILS_BLOCKS.len(), 14);
|
||||
assert_eq!(SEASON_DETAILS_BLOCKS.len(), 15);
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SeasonDetails));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SeasonHistory));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SearchSeason));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SearchSeasonError));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SearchEpisodes));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SearchEpisodesError));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::AutomaticallySearchSeasonPrompt));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SearchSeasonHistory));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::SearchSeasonHistoryError));
|
||||
@@ -623,6 +623,7 @@ mod tests {
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::ManualSeasonSearch));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::ManualSeasonSearchConfirmPrompt));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::ManualSeasonSearchSortPrompt));
|
||||
assert!(SEASON_DETAILS_BLOCKS.contains(&ActiveSonarrBlock::DeleteEpisodeFilePrompt));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ pub mod utils {
|
||||
season_details_modal
|
||||
.episodes
|
||||
.set_items(vec![Episode::default()]);
|
||||
season_details_modal.season_history.set_items(vec![SonarrHistoryItem::default()]);
|
||||
season_details_modal
|
||||
.season_releases
|
||||
.set_items(vec![SonarrRelease::default()]);
|
||||
|
||||
Reference in New Issue
Block a user