diff --git a/src/cli/sonarr/get_command_handler.rs b/src/cli/sonarr/get_command_handler.rs index 51a3c72..c6b9ffe 100644 --- a/src/cli/sonarr/get_command_handler.rs +++ b/src/cli/sonarr/get_command_handler.rs @@ -104,7 +104,7 @@ impl<'a, 'b> CliCommandHandler<'a, 'b, SonarrGetCommand> for SonarrGetCommandHan SonarrGetCommand::SeriesDetails { series_id } => { let resp = self .network - .handle_network_event(SonarrEvent::GetSeriesDetails(Some(series_id)).into()) + .handle_network_event(SonarrEvent::GetSeriesDetails(series_id).into()) .await?; serde_json::to_string_pretty(&resp)? } diff --git a/src/cli/sonarr/get_command_handler_tests.rs b/src/cli/sonarr/get_command_handler_tests.rs index fe8af4b..ad53be8 100644 --- a/src/cli/sonarr/get_command_handler_tests.rs +++ b/src/cli/sonarr/get_command_handler_tests.rs @@ -232,7 +232,7 @@ mod tests { mock_network .expect_handle_network_event() .with(eq::( - SonarrEvent::GetSeriesDetails(Some(expected_series_id)).into(), + SonarrEvent::GetSeriesDetails(expected_series_id).into(), )) .times(1) .returning(|_| { diff --git a/src/network/sonarr_network.rs b/src/network/sonarr_network.rs index 8f190d5..0cde32b 100644 --- a/src/network/sonarr_network.rs +++ b/src/network/sonarr_network.rs @@ -73,7 +73,7 @@ pub enum SonarrEvent { GetSeasonHistory((i64, i64)), GetSeasonReleases((i64, i64)), GetSecurityConfig, - GetSeriesDetails(Option), + GetSeriesDetails(i64), GetSeriesHistory(Option), GetStatus, GetUpdates, @@ -848,9 +848,9 @@ impl<'a, 'b> Network<'a, 'b> { .await; edit_series_params.tags = Some(tag_ids_vec); } - let detail_event = SonarrEvent::GetSeriesDetails(None); - let event = SonarrEvent::EditSeries(edit_series_params.clone()); let series_id = edit_series_params.series_id; + let detail_event = SonarrEvent::GetSeriesDetails(series_id); + let event = SonarrEvent::EditSeries(edit_series_params.clone()); info!("Fetching series details for series with ID: {series_id}"); let request_props = self @@ -969,7 +969,6 @@ impl<'a, 'b> Network<'a, 'b> { &mut self, series_id_season_number_tuple: Option<(i64, i64)>, ) -> Result<()> { - let detail_event = SonarrEvent::GetSeriesDetails(None); let event = SonarrEvent::ToggleSeasonMonitoring(series_id_season_number_tuple); let (series_id, season_number) = if let Some((series_id, season_number)) = series_id_season_number_tuple { @@ -979,6 +978,7 @@ impl<'a, 'b> Network<'a, 'b> { }; let (series_id, _) = self.extract_series_id(series_id).await; + let detail_event = SonarrEvent::GetSeriesDetails(series_id); if let Ok((season_number, _)) = self.extract_season_number(season_number).await { info!("Toggling season monitoring for season {season_number} in series with ID: {series_id}"); info!("Fetching series details for series with ID: {series_id}"); @@ -1764,9 +1764,8 @@ impl<'a, 'b> Network<'a, 'b> { .await } - async fn get_series_details(&mut self, series_id: Option) -> Result { - let (id, _) = self.extract_series_id(series_id).await; - info!("Fetching details for Sonarr series with ID: {id}"); + async fn get_series_details(&mut self, series_id: i64) -> Result { + info!("Fetching details for Sonarr series with ID: {series_id}"); let event = SonarrEvent::GetSeriesDetails(series_id); let request_props = self @@ -1774,7 +1773,7 @@ impl<'a, 'b> Network<'a, 'b> { event, RequestMethod::Get, None::<()>, - Some(format!("/{id}")), + Some(format!("/{series_id}")), None, ) .await; diff --git a/src/network/sonarr_network_tests.rs b/src/network/sonarr_network_tests.rs index d2f6c37..66879e9 100644 --- a/src/network/sonarr_network_tests.rs +++ b/src/network/sonarr_network_tests.rs @@ -159,7 +159,7 @@ mod test { #[values( SonarrEvent::AddSeries(AddSeriesBody::default()), SonarrEvent::ListSeries, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(0), SonarrEvent::DeleteSeries(DeleteSeriesParams::default()), SonarrEvent::EditSeries(EditSeriesParams::default()), SonarrEvent::ToggleSeasonMonitoring(None) @@ -1337,7 +1337,7 @@ mod test { None, Some(serde_json::from_str(SERIES_JSON).unwrap()), None, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(1), Some("/1"), None, ) @@ -1397,7 +1397,7 @@ mod test { None, Some(serde_json::from_str(SERIES_JSON).unwrap()), None, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(1), Some("/1"), None, ) @@ -1441,7 +1441,7 @@ mod test { None, Some(serde_json::from_str(SERIES_JSON).unwrap()), None, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(1), Some("/1"), None, ) @@ -1481,7 +1481,7 @@ mod test { None, Some(serde_json::from_str(SERIES_JSON).unwrap()), None, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(1), Some("/1"), None, ) @@ -3965,7 +3965,7 @@ mod test { None, Some(serde_json::from_str(SERIES_JSON).unwrap()), None, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(1), Some("/1"), None, ) @@ -3980,44 +3980,7 @@ mod test { let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); if let SonarrSerdeable::Series(series) = network - .handle_sonarr_event(SonarrEvent::GetSeriesDetails(None)) - .await - .unwrap() - { - async_server.assert_async().await; - assert_eq!(series, expected_series); - } - } - - #[tokio::test] - async fn test_handle_get_series_details_event_uses_provided_series_id() { - let expected_series: Series = Series { - id: 2, - ..serde_json::from_str(SERIES_JSON).unwrap() - }; - let mut response: Value = serde_json::from_str(SERIES_JSON).unwrap(); - *response.get_mut("id").unwrap() = json!(2); - let (async_server, app_arc, _server) = mock_servarr_api( - RequestMethod::Get, - None, - Some(response), - None, - SonarrEvent::GetSeriesDetails(Some(2)), - Some("/2"), - None, - ) - .await; - app_arc - .lock() - .await - .data - .sonarr_data - .series - .set_items(vec![series()]); - let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); - - if let SonarrSerdeable::Series(series) = network - .handle_sonarr_event(SonarrEvent::GetSeriesDetails(Some(2))) + .handle_sonarr_event(SonarrEvent::GetSeriesDetails(1)) .await .unwrap() { @@ -5453,7 +5416,7 @@ mod test { None, Some(serde_json::from_str(SERIES_JSON).unwrap()), None, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(1), Some("/1"), None, ) @@ -5518,7 +5481,7 @@ mod test { None, Some(detailed_response), None, - SonarrEvent::GetSeriesDetails(None), + SonarrEvent::GetSeriesDetails(2), Some("/2"), None, )