feat(handlers): Support for toggling the monitoring status of a season in the Sonarr UI

This commit is contained in:
2024-12-13 16:10:06 -07:00
parent cfac433861
commit 9269b66aa8
7 changed files with 158 additions and 73 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ mod test {
#[case(DEFAULT_KEYBINDINGS.tasks, Key::Char('t'), "tasks")]
#[case(DEFAULT_KEYBINDINGS.test, Key::Char('t'), "test")]
#[case(DEFAULT_KEYBINDINGS.test_all, Key::Char('T'), "test all")]
#[case(DEFAULT_KEYBINDINGS.test_all, Key::Char('m'), "toggle monitoring")]
#[case(DEFAULT_KEYBINDINGS.toggle_monitoring, Key::Char('m'), "toggle monitoring")]
#[case(DEFAULT_KEYBINDINGS.refresh, Key::Ctrl('r'), "refresh")]
#[case(DEFAULT_KEYBINDINGS.update, Key::Char('u'), "update")]
#[case(DEFAULT_KEYBINDINGS.home, Key::Home, "home")]
+3
View File
@@ -29,6 +29,9 @@ impl<'a> App<'a> {
.await;
}
ActiveSonarrBlock::SeriesDetails => {
self
.dispatch_network_event(SonarrEvent::ListSeries.into())
.await;
self.is_loading = true;
self.populate_seasons_table().await;
self.is_loading = false;
+5 -1
View File
@@ -56,7 +56,7 @@ mod tests {
#[tokio::test]
async fn test_dispatch_by_series_details_block() {
let (mut app, _) = construct_app_unit();
let (mut app, mut sync_network_rx) = construct_app_unit();
app.data.sonarr_data.series.set_items(vec![Series {
seasons: Some(vec![Season::default()]),
@@ -68,6 +68,10 @@ mod tests {
.await;
assert!(!app.is_loading);
assert_eq!(
sync_network_rx.recv().await.unwrap(),
SonarrEvent::ListSeries.into()
);
assert!(!app.data.sonarr_data.seasons.items.is_empty());
assert_eq!(app.tick_count, 0);
assert!(!app.data.sonarr_data.prompt_confirm);