refactor: Refactored the SonarrEvent enum to not unnecessarily wrap dual series_id and season_number values in a tuple when both values can be passed directly
This commit is contained in:
@@ -58,21 +58,19 @@ impl App<'_> {
|
|||||||
}
|
}
|
||||||
ActiveSonarrBlock::SeasonHistory => {
|
ActiveSonarrBlock::SeasonHistory => {
|
||||||
if !self.data.sonarr_data.seasons.is_empty() {
|
if !self.data.sonarr_data.seasons.is_empty() {
|
||||||
|
let (series_id, season_number) = self.extract_series_id_season_number_tuple().await;
|
||||||
self
|
self
|
||||||
.dispatch_network_event(
|
.dispatch_network_event(SonarrEvent::GetSeasonHistory(series_id, season_number).into())
|
||||||
SonarrEvent::GetSeasonHistory(self.extract_series_id_season_number_tuple().await)
|
|
||||||
.into(),
|
|
||||||
)
|
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ActiveSonarrBlock::ManualSeasonSearch => {
|
ActiveSonarrBlock::ManualSeasonSearch => {
|
||||||
match self.data.sonarr_data.season_details_modal.as_ref() {
|
match self.data.sonarr_data.season_details_modal.as_ref() {
|
||||||
Some(season_details_modal) if season_details_modal.season_releases.is_empty() => {
|
Some(season_details_modal) if season_details_modal.season_releases.is_empty() => {
|
||||||
|
let (series_id, season_number) = self.extract_series_id_season_number_tuple().await;
|
||||||
self
|
self
|
||||||
.dispatch_network_event(
|
.dispatch_network_event(
|
||||||
SonarrEvent::GetSeasonReleases(self.extract_series_id_season_number_tuple().await)
|
SonarrEvent::GetSeasonReleases(series_id, season_number).into(),
|
||||||
.into(),
|
|
||||||
)
|
)
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ mod tests {
|
|||||||
assert!(app.is_loading);
|
assert!(app.is_loading);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
sync_network_rx.recv().await.unwrap(),
|
sync_network_rx.recv().await.unwrap(),
|
||||||
SonarrEvent::GetSeasonHistory((1, 1)).into()
|
SonarrEvent::GetSeasonHistory(1, 1).into()
|
||||||
);
|
);
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.tick_count, 0);
|
assert_eq!(app.tick_count, 0);
|
||||||
@@ -175,7 +175,7 @@ mod tests {
|
|||||||
assert!(app.is_loading);
|
assert!(app.is_loading);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
sync_network_rx.recv().await.unwrap(),
|
sync_network_rx.recv().await.unwrap(),
|
||||||
SonarrEvent::GetSeasonReleases((1, 1)).into()
|
SonarrEvent::GetSeasonReleases(1, 1).into()
|
||||||
);
|
);
|
||||||
assert!(!app.data.sonarr_data.prompt_confirm);
|
assert!(!app.data.sonarr_data.prompt_confirm);
|
||||||
assert_eq!(app.tick_count, 0);
|
assert_eq!(app.tick_count, 0);
|
||||||
|
|||||||
@@ -249,7 +249,7 @@ impl<'a, 'b> CliCommandHandler<'a, 'b, SonarrListCommand> for SonarrListCommandH
|
|||||||
} => {
|
} => {
|
||||||
let resp = self
|
let resp = self
|
||||||
.network
|
.network
|
||||||
.handle_network_event(SonarrEvent::GetSeasonHistory((series_id, season_number)).into())
|
.handle_network_event(SonarrEvent::GetSeasonHistory(series_id, season_number).into())
|
||||||
.await?;
|
.await?;
|
||||||
serde_json::to_string_pretty(&resp)?
|
serde_json::to_string_pretty(&resp)?
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -543,7 +543,7 @@ mod tests {
|
|||||||
mock_network
|
mock_network
|
||||||
.expect_handle_network_event()
|
.expect_handle_network_event()
|
||||||
.with(eq::<NetworkEvent>(
|
.with(eq::<NetworkEvent>(
|
||||||
SonarrEvent::GetSeasonHistory((expected_series_id, expected_season_number)).into(),
|
SonarrEvent::GetSeasonHistory(expected_series_id, expected_season_number).into(),
|
||||||
))
|
))
|
||||||
.times(1)
|
.times(1)
|
||||||
.returning(|_| {
|
.returning(|_| {
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ impl<'a, 'b> CliCommandHandler<'a, 'b, SonarrManualSearchCommand>
|
|||||||
println!("Searching for season releases. This may take a minute...");
|
println!("Searching for season releases. This may take a minute...");
|
||||||
match self
|
match self
|
||||||
.network
|
.network
|
||||||
.handle_network_event(SonarrEvent::GetSeasonReleases((series_id, season_number)).into())
|
.handle_network_event(SonarrEvent::GetSeasonReleases(series_id, season_number).into())
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
Ok(Serdeable::Sonarr(SonarrSerdeable::Releases(releases_vec))) => {
|
Ok(Serdeable::Sonarr(SonarrSerdeable::Releases(releases_vec))) => {
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ mod tests {
|
|||||||
mock_network
|
mock_network
|
||||||
.expect_handle_network_event()
|
.expect_handle_network_event()
|
||||||
.with(eq::<NetworkEvent>(
|
.with(eq::<NetworkEvent>(
|
||||||
SonarrEvent::GetSeasonReleases((expected_series_id, expected_season_number)).into(),
|
SonarrEvent::GetSeasonReleases(expected_series_id, expected_season_number).into(),
|
||||||
))
|
))
|
||||||
.times(1)
|
.times(1)
|
||||||
.returning(|_| {
|
.returning(|_| {
|
||||||
|
|||||||
@@ -297,7 +297,7 @@ impl<'a, 'b> CliCommandHandler<'a, 'b, SonarrCommand> for SonarrCliHandler<'a, '
|
|||||||
let resp = self
|
let resp = self
|
||||||
.network
|
.network
|
||||||
.handle_network_event(
|
.handle_network_event(
|
||||||
SonarrEvent::ToggleSeasonMonitoring((series_id, season_number)).into(),
|
SonarrEvent::ToggleSeasonMonitoring(series_id, season_number).into(),
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
serde_json::to_string_pretty(&resp)?
|
serde_json::to_string_pretty(&resp)?
|
||||||
|
|||||||
@@ -755,7 +755,7 @@ mod tests {
|
|||||||
mock_network
|
mock_network
|
||||||
.expect_handle_network_event()
|
.expect_handle_network_event()
|
||||||
.with(eq::<NetworkEvent>(
|
.with(eq::<NetworkEvent>(
|
||||||
SonarrEvent::ToggleSeasonMonitoring((expected_series_id, expected_season_number)).into(),
|
SonarrEvent::ToggleSeasonMonitoring(expected_series_id, expected_season_number).into(),
|
||||||
))
|
))
|
||||||
.times(1)
|
.times(1)
|
||||||
.returning(|_| {
|
.returning(|_| {
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ impl<'a, 'b> CliCommandHandler<'a, 'b, SonarrTriggerAutomaticSearchCommand>
|
|||||||
let resp = self
|
let resp = self
|
||||||
.network
|
.network
|
||||||
.handle_network_event(
|
.handle_network_event(
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch((series_id, season_number)).into(),
|
SonarrEvent::TriggerAutomaticSeasonSearch(series_id, season_number).into(),
|
||||||
)
|
)
|
||||||
.await?;
|
.await?;
|
||||||
serde_json::to_string_pretty(&resp)?
|
serde_json::to_string_pretty(&resp)?
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ mod tests {
|
|||||||
mock_network
|
mock_network
|
||||||
.expect_handle_network_event()
|
.expect_handle_network_event()
|
||||||
.with(eq::<NetworkEvent>(
|
.with(eq::<NetworkEvent>(
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch((expected_series_id, expected_season_number))
|
SonarrEvent::TriggerAutomaticSeasonSearch(expected_series_id, expected_season_number)
|
||||||
.into(),
|
.into(),
|
||||||
))
|
))
|
||||||
.times(1)
|
.times(1)
|
||||||
|
|||||||
@@ -279,8 +279,9 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for SeasonDetailsHandler
|
|||||||
}
|
}
|
||||||
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt => {
|
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt => {
|
||||||
if self.app.data.sonarr_data.prompt_confirm {
|
if self.app.data.sonarr_data.prompt_confirm {
|
||||||
|
let (series_id, season_number) = self.extract_series_id_season_number_tuple();
|
||||||
self.app.data.sonarr_data.prompt_confirm_action = Some(
|
self.app.data.sonarr_data.prompt_confirm_action = Some(
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch(self.extract_series_id_season_number_tuple()),
|
SonarrEvent::TriggerAutomaticSeasonSearch(series_id, season_number),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -404,8 +405,9 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for SeasonDetailsHandler
|
|||||||
},
|
},
|
||||||
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt if matches_key!(confirm, key) => {
|
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt if matches_key!(confirm, key) => {
|
||||||
self.app.data.sonarr_data.prompt_confirm = true;
|
self.app.data.sonarr_data.prompt_confirm = true;
|
||||||
|
let (series_id, season_number) = self.extract_series_id_season_number_tuple();
|
||||||
self.app.data.sonarr_data.prompt_confirm_action = Some(
|
self.app.data.sonarr_data.prompt_confirm_action = Some(
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch(self.extract_series_id_season_number_tuple()),
|
SonarrEvent::TriggerAutomaticSeasonSearch(series_id, season_number),
|
||||||
);
|
);
|
||||||
|
|
||||||
self.app.pop_navigation_stack();
|
self.app.pop_navigation_stack();
|
||||||
|
|||||||
@@ -268,7 +268,7 @@ mod tests {
|
|||||||
#[rstest]
|
#[rstest]
|
||||||
#[case(
|
#[case(
|
||||||
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt,
|
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt,
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch((0, 0))
|
SonarrEvent::TriggerAutomaticSeasonSearch(0, 0)
|
||||||
)]
|
)]
|
||||||
#[case(
|
#[case(
|
||||||
ActiveSonarrBlock::DeleteEpisodeFilePrompt,
|
ActiveSonarrBlock::DeleteEpisodeFilePrompt,
|
||||||
@@ -694,7 +694,7 @@ mod tests {
|
|||||||
#[rstest]
|
#[rstest]
|
||||||
#[case(
|
#[case(
|
||||||
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt,
|
ActiveSonarrBlock::AutomaticallySearchSeasonPrompt,
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch((0, 0))
|
SonarrEvent::TriggerAutomaticSeasonSearch(0, 0)
|
||||||
)]
|
)]
|
||||||
#[case(
|
#[case(
|
||||||
ActiveSonarrBlock::DeleteEpisodeFilePrompt,
|
ActiveSonarrBlock::DeleteEpisodeFilePrompt,
|
||||||
|
|||||||
@@ -278,8 +278,9 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for SeriesDetailsHandler
|
|||||||
}
|
}
|
||||||
_ if matches_key!(toggle_monitoring, key) => {
|
_ if matches_key!(toggle_monitoring, key) => {
|
||||||
self.app.data.sonarr_data.prompt_confirm = true;
|
self.app.data.sonarr_data.prompt_confirm = true;
|
||||||
|
let (series_id, season_number) = self.extract_series_id_season_number_tuple();
|
||||||
self.app.data.sonarr_data.prompt_confirm_action = Some(
|
self.app.data.sonarr_data.prompt_confirm_action = Some(
|
||||||
SonarrEvent::ToggleSeasonMonitoring(self.extract_series_id_season_number_tuple()),
|
SonarrEvent::ToggleSeasonMonitoring(series_id, season_number),
|
||||||
);
|
);
|
||||||
|
|
||||||
self
|
self
|
||||||
|
|||||||
@@ -378,7 +378,7 @@ mod tests {
|
|||||||
assert!(app.is_routing);
|
assert!(app.is_routing);
|
||||||
assert_some_eq_x!(
|
assert_some_eq_x!(
|
||||||
&app.data.sonarr_data.prompt_confirm_action,
|
&app.data.sonarr_data.prompt_confirm_action,
|
||||||
&SonarrEvent::ToggleSeasonMonitoring((0, 0))
|
&SonarrEvent::ToggleSeasonMonitoring(0, 0)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -302,8 +302,10 @@ impl LidarrData<'_> {
|
|||||||
.metadata_profile_list
|
.metadata_profile_list
|
||||||
.set_items(vec![metadata_profile().name]);
|
.set_items(vec![metadata_profile().name]);
|
||||||
|
|
||||||
let mut track_details_modal = TrackDetailsModal::default();
|
let mut track_details_modal = TrackDetailsModal {
|
||||||
track_details_modal.track_details = ScrollableText::with_string("Some details".to_owned());
|
track_details: ScrollableText::with_string("Some details".to_owned()),
|
||||||
|
..TrackDetailsModal::default()
|
||||||
|
};
|
||||||
track_details_modal
|
track_details_modal
|
||||||
.track_history
|
.track_history
|
||||||
.set_items(vec![lidarr_history_item()]);
|
.set_items(vec![lidarr_history_item()]);
|
||||||
|
|||||||
@@ -14,10 +14,10 @@ mod sonarr_seasons_network_tests;
|
|||||||
impl Network<'_, '_> {
|
impl Network<'_, '_> {
|
||||||
pub(in crate::network::sonarr_network) async fn toggle_sonarr_season_monitoring(
|
pub(in crate::network::sonarr_network) async fn toggle_sonarr_season_monitoring(
|
||||||
&mut self,
|
&mut self,
|
||||||
series_id_season_number_tuple: (i64, i64),
|
series_id: i64,
|
||||||
|
season_number: i64,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
let event = SonarrEvent::ToggleSeasonMonitoring(series_id_season_number_tuple);
|
let event = SonarrEvent::ToggleSeasonMonitoring(series_id, season_number);
|
||||||
let (series_id, season_number) = series_id_season_number_tuple;
|
|
||||||
|
|
||||||
let detail_event = SonarrEvent::GetSeriesDetails(series_id);
|
let detail_event = SonarrEvent::GetSeriesDetails(series_id);
|
||||||
info!("Toggling season monitoring for season {season_number} in series with ID: {series_id}");
|
info!("Toggling season monitoring for season {season_number} in series with ID: {series_id}");
|
||||||
@@ -94,10 +94,10 @@ impl Network<'_, '_> {
|
|||||||
|
|
||||||
pub(in crate::network::sonarr_network) async fn get_season_releases(
|
pub(in crate::network::sonarr_network) async fn get_season_releases(
|
||||||
&mut self,
|
&mut self,
|
||||||
series_season_id_tuple: (i64, i64),
|
series_id: i64,
|
||||||
|
season_number: i64,
|
||||||
) -> Result<Vec<SonarrRelease>> {
|
) -> Result<Vec<SonarrRelease>> {
|
||||||
let event = SonarrEvent::GetSeasonReleases(series_season_id_tuple);
|
let event = SonarrEvent::GetSeasonReleases(series_id, season_number);
|
||||||
let (series_id, season_number) = series_season_id_tuple;
|
|
||||||
info!("Fetching releases for series with ID: {series_id} and season number: {season_number}");
|
info!("Fetching releases for series with ID: {series_id} and season number: {season_number}");
|
||||||
|
|
||||||
let request_props = self
|
let request_props = self
|
||||||
@@ -132,10 +132,10 @@ impl Network<'_, '_> {
|
|||||||
|
|
||||||
pub(in crate::network::sonarr_network) async fn get_sonarr_season_history(
|
pub(in crate::network::sonarr_network) async fn get_sonarr_season_history(
|
||||||
&mut self,
|
&mut self,
|
||||||
series_season_id_tuple: (i64, i64),
|
series_id: i64,
|
||||||
|
season_number: i64,
|
||||||
) -> Result<Vec<SonarrHistoryItem>> {
|
) -> Result<Vec<SonarrHistoryItem>> {
|
||||||
let event = SonarrEvent::GetSeasonHistory(series_season_id_tuple);
|
let event = SonarrEvent::GetSeasonHistory(series_id, season_number);
|
||||||
let (series_id, season_number) = series_season_id_tuple;
|
|
||||||
info!("Fetching history for series with ID: {series_id} and season number: {season_number}");
|
info!("Fetching history for series with ID: {series_id} and season number: {season_number}");
|
||||||
|
|
||||||
let params = format!("seriesId={series_id}&seasonNumber={season_number}",);
|
let params = format!("seriesId={series_id}&seasonNumber={season_number}",);
|
||||||
@@ -170,10 +170,10 @@ impl Network<'_, '_> {
|
|||||||
|
|
||||||
pub(in crate::network::sonarr_network) async fn trigger_automatic_season_search(
|
pub(in crate::network::sonarr_network) async fn trigger_automatic_season_search(
|
||||||
&mut self,
|
&mut self,
|
||||||
series_season_id_tuple: (i64, i64),
|
series_id: i64,
|
||||||
|
season_number: i64,
|
||||||
) -> Result<Value> {
|
) -> Result<Value> {
|
||||||
let event = SonarrEvent::TriggerAutomaticSeasonSearch(series_season_id_tuple);
|
let event = SonarrEvent::TriggerAutomaticSeasonSearch(series_id, season_number);
|
||||||
let (series_id, season_number) = series_season_id_tuple;
|
|
||||||
info!("Searching indexers for series with ID: {series_id} and season number: {season_number}");
|
info!("Searching indexers for series with ID: {series_id} and season number: {season_number}");
|
||||||
|
|
||||||
let body = SonarrCommandBody {
|
let body = SonarrCommandBody {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ mod tests {
|
|||||||
"PUT",
|
"PUT",
|
||||||
format!(
|
format!(
|
||||||
"/api/v3{}/1",
|
"/api/v3{}/1",
|
||||||
SonarrEvent::ToggleSeasonMonitoring((1, 1)).resource()
|
SonarrEvent::ToggleSeasonMonitoring(1, 1).resource()
|
||||||
)
|
)
|
||||||
.as_str(),
|
.as_str(),
|
||||||
)
|
)
|
||||||
@@ -56,7 +56,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(
|
assert!(
|
||||||
network
|
network
|
||||||
.handle_sonarr_event(SonarrEvent::ToggleSeasonMonitoring((1, 1)))
|
.handle_sonarr_event(SonarrEvent::ToggleSeasonMonitoring(1, 1))
|
||||||
.await
|
.await
|
||||||
.is_ok()
|
.is_ok()
|
||||||
);
|
);
|
||||||
@@ -117,7 +117,7 @@ mod tests {
|
|||||||
let (mock, app, _server) = MockServarrApi::get()
|
let (mock, app, _server) = MockServarrApi::get()
|
||||||
.returns(release_json)
|
.returns(release_json)
|
||||||
.query("seriesId=1&seasonNumber=1")
|
.query("seriesId=1&seasonNumber=1")
|
||||||
.build_for(SonarrEvent::GetSeasonReleases((1, 1)))
|
.build_for(SonarrEvent::GetSeasonReleases(1, 1))
|
||||||
.await;
|
.await;
|
||||||
app
|
app
|
||||||
.lock()
|
.lock()
|
||||||
@@ -138,7 +138,7 @@ mod tests {
|
|||||||
let mut network = test_network(&app);
|
let mut network = test_network(&app);
|
||||||
|
|
||||||
let SonarrSerdeable::Releases(releases_vec) = network
|
let SonarrSerdeable::Releases(releases_vec) = network
|
||||||
.handle_sonarr_event(SonarrEvent::GetSeasonReleases((1, 1)))
|
.handle_sonarr_event(SonarrEvent::GetSeasonReleases(1, 1))
|
||||||
.await
|
.await
|
||||||
.unwrap()
|
.unwrap()
|
||||||
else {
|
else {
|
||||||
@@ -203,7 +203,7 @@ mod tests {
|
|||||||
let (mock, app, _server) = MockServarrApi::get()
|
let (mock, app, _server) = MockServarrApi::get()
|
||||||
.returns(release_json)
|
.returns(release_json)
|
||||||
.query("seriesId=1&seasonNumber=1")
|
.query("seriesId=1&seasonNumber=1")
|
||||||
.build_for(SonarrEvent::GetSeasonReleases((1, 1)))
|
.build_for(SonarrEvent::GetSeasonReleases(1, 1))
|
||||||
.await;
|
.await;
|
||||||
app
|
app
|
||||||
.lock()
|
.lock()
|
||||||
@@ -224,7 +224,7 @@ mod tests {
|
|||||||
|
|
||||||
assert!(
|
assert!(
|
||||||
network
|
network
|
||||||
.handle_sonarr_event(SonarrEvent::GetSeasonReleases((1, 1)))
|
.handle_sonarr_event(SonarrEvent::GetSeasonReleases(1, 1))
|
||||||
.await
|
.await
|
||||||
.is_ok()
|
.is_ok()
|
||||||
);
|
);
|
||||||
@@ -291,7 +291,7 @@ mod tests {
|
|||||||
let (mock, app, _server) = MockServarrApi::get()
|
let (mock, app, _server) = MockServarrApi::get()
|
||||||
.returns(history_json)
|
.returns(history_json)
|
||||||
.query("seriesId=1&seasonNumber=1")
|
.query("seriesId=1&seasonNumber=1")
|
||||||
.build_for(SonarrEvent::GetSeasonHistory((1, 1)))
|
.build_for(SonarrEvent::GetSeasonHistory(1, 1))
|
||||||
.await;
|
.await;
|
||||||
app.lock().await.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
|
app.lock().await.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
|
||||||
app
|
app
|
||||||
@@ -322,7 +322,7 @@ mod tests {
|
|||||||
let mut network = test_network(&app);
|
let mut network = test_network(&app);
|
||||||
|
|
||||||
let SonarrSerdeable::SonarrHistoryItems(history) = network
|
let SonarrSerdeable::SonarrHistoryItems(history) = network
|
||||||
.handle_sonarr_event(SonarrEvent::GetSeasonHistory((1, 1)))
|
.handle_sonarr_event(SonarrEvent::GetSeasonHistory(1, 1))
|
||||||
.await
|
.await
|
||||||
.unwrap()
|
.unwrap()
|
||||||
else {
|
else {
|
||||||
@@ -403,7 +403,7 @@ mod tests {
|
|||||||
let (mock, app, _server) = MockServarrApi::get()
|
let (mock, app, _server) = MockServarrApi::get()
|
||||||
.returns(history_json)
|
.returns(history_json)
|
||||||
.query("seriesId=1&seasonNumber=1")
|
.query("seriesId=1&seasonNumber=1")
|
||||||
.build_for(SonarrEvent::GetSeasonHistory((1, 1)))
|
.build_for(SonarrEvent::GetSeasonHistory(1, 1))
|
||||||
.await;
|
.await;
|
||||||
app
|
app
|
||||||
.lock()
|
.lock()
|
||||||
@@ -423,7 +423,7 @@ mod tests {
|
|||||||
let mut network = test_network(&app);
|
let mut network = test_network(&app);
|
||||||
|
|
||||||
let SonarrSerdeable::SonarrHistoryItems(history) = network
|
let SonarrSerdeable::SonarrHistoryItems(history) = network
|
||||||
.handle_sonarr_event(SonarrEvent::GetSeasonHistory((1, 1)))
|
.handle_sonarr_event(SonarrEvent::GetSeasonHistory(1, 1))
|
||||||
.await
|
.await
|
||||||
.unwrap()
|
.unwrap()
|
||||||
else {
|
else {
|
||||||
@@ -499,7 +499,7 @@ mod tests {
|
|||||||
let (mock, app, _server) = MockServarrApi::get()
|
let (mock, app, _server) = MockServarrApi::get()
|
||||||
.returns(history_json)
|
.returns(history_json)
|
||||||
.query("seriesId=1&seasonNumber=1")
|
.query("seriesId=1&seasonNumber=1")
|
||||||
.build_for(SonarrEvent::GetSeasonHistory((1, 1)))
|
.build_for(SonarrEvent::GetSeasonHistory(1, 1))
|
||||||
.await;
|
.await;
|
||||||
app.lock().await.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
|
app.lock().await.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
|
||||||
app
|
app
|
||||||
@@ -520,7 +520,7 @@ mod tests {
|
|||||||
let mut network = test_network(&app);
|
let mut network = test_network(&app);
|
||||||
|
|
||||||
let SonarrSerdeable::SonarrHistoryItems(history) = network
|
let SonarrSerdeable::SonarrHistoryItems(history) = network
|
||||||
.handle_sonarr_event(SonarrEvent::GetSeasonHistory((1, 1)))
|
.handle_sonarr_event(SonarrEvent::GetSeasonHistory(1, 1))
|
||||||
.await
|
.await
|
||||||
.unwrap()
|
.unwrap()
|
||||||
else {
|
else {
|
||||||
@@ -563,14 +563,14 @@ mod tests {
|
|||||||
"seasonNumber": 1
|
"seasonNumber": 1
|
||||||
}))
|
}))
|
||||||
.returns(json!({}))
|
.returns(json!({}))
|
||||||
.build_for(SonarrEvent::TriggerAutomaticSeasonSearch((1, 1)))
|
.build_for(SonarrEvent::TriggerAutomaticSeasonSearch(1, 1))
|
||||||
.await;
|
.await;
|
||||||
app.lock().await.server_tabs.next();
|
app.lock().await.server_tabs.next();
|
||||||
let mut network = test_network(&app);
|
let mut network = test_network(&app);
|
||||||
|
|
||||||
assert!(
|
assert!(
|
||||||
network
|
network
|
||||||
.handle_sonarr_event(SonarrEvent::TriggerAutomaticSeasonSearch((1, 1)))
|
.handle_sonarr_event(SonarrEvent::TriggerAutomaticSeasonSearch(1, 1))
|
||||||
.await
|
.await
|
||||||
.is_ok()
|
.is_ok()
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ pub enum SonarrEvent {
|
|||||||
GetQueuedEvents,
|
GetQueuedEvents,
|
||||||
GetRootFolders,
|
GetRootFolders,
|
||||||
GetEpisodeReleases(i64),
|
GetEpisodeReleases(i64),
|
||||||
GetSeasonHistory((i64, i64)),
|
GetSeasonHistory(i64, i64),
|
||||||
GetSeasonReleases((i64, i64)),
|
GetSeasonReleases(i64, i64),
|
||||||
GetSecurityConfig,
|
GetSecurityConfig,
|
||||||
GetSeriesDetails(i64),
|
GetSeriesDetails(i64),
|
||||||
GetSeriesHistory(i64),
|
GetSeriesHistory(i64),
|
||||||
@@ -81,11 +81,11 @@ pub enum SonarrEvent {
|
|||||||
StartTask(SonarrTaskName),
|
StartTask(SonarrTaskName),
|
||||||
TestIndexer(i64),
|
TestIndexer(i64),
|
||||||
TestAllIndexers,
|
TestAllIndexers,
|
||||||
ToggleSeasonMonitoring((i64, i64)),
|
ToggleSeasonMonitoring(i64, i64),
|
||||||
ToggleSeriesMonitoring(i64),
|
ToggleSeriesMonitoring(i64),
|
||||||
ToggleEpisodeMonitoring(i64),
|
ToggleEpisodeMonitoring(i64),
|
||||||
TriggerAutomaticEpisodeSearch(i64),
|
TriggerAutomaticEpisodeSearch(i64),
|
||||||
TriggerAutomaticSeasonSearch((i64, i64)),
|
TriggerAutomaticSeasonSearch(i64, i64),
|
||||||
TriggerAutomaticSeriesSearch(i64),
|
TriggerAutomaticSeriesSearch(i64),
|
||||||
UpdateAllSeries,
|
UpdateAllSeries,
|
||||||
UpdateAndScanSeries(i64),
|
UpdateAndScanSeries(i64),
|
||||||
@@ -118,7 +118,7 @@ impl NetworkResource for SonarrEvent {
|
|||||||
SonarrEvent::GetQueuedEvents
|
SonarrEvent::GetQueuedEvents
|
||||||
| SonarrEvent::StartTask(_)
|
| SonarrEvent::StartTask(_)
|
||||||
| SonarrEvent::TriggerAutomaticSeriesSearch(_)
|
| SonarrEvent::TriggerAutomaticSeriesSearch(_)
|
||||||
| SonarrEvent::TriggerAutomaticSeasonSearch(_)
|
| SonarrEvent::TriggerAutomaticSeasonSearch(_, _)
|
||||||
| SonarrEvent::TriggerAutomaticEpisodeSearch(_)
|
| SonarrEvent::TriggerAutomaticEpisodeSearch(_)
|
||||||
| SonarrEvent::UpdateAllSeries
|
| SonarrEvent::UpdateAllSeries
|
||||||
| SonarrEvent::UpdateAndScanSeries(_)
|
| SonarrEvent::UpdateAndScanSeries(_)
|
||||||
@@ -126,8 +126,8 @@ impl NetworkResource for SonarrEvent {
|
|||||||
SonarrEvent::GetRootFolders
|
SonarrEvent::GetRootFolders
|
||||||
| SonarrEvent::DeleteRootFolder(_)
|
| SonarrEvent::DeleteRootFolder(_)
|
||||||
| SonarrEvent::AddRootFolder(_) => "/rootfolder",
|
| SonarrEvent::AddRootFolder(_) => "/rootfolder",
|
||||||
SonarrEvent::GetSeasonReleases(_) | SonarrEvent::GetEpisodeReleases(_) => "/release",
|
SonarrEvent::GetSeasonReleases(_, _) | SonarrEvent::GetEpisodeReleases(_) => "/release",
|
||||||
SonarrEvent::GetSeriesHistory(_) | SonarrEvent::GetSeasonHistory(_) => "/history/series",
|
SonarrEvent::GetSeriesHistory(_) | SonarrEvent::GetSeasonHistory(_, _) => "/history/series",
|
||||||
SonarrEvent::GetStatus => "/system/status",
|
SonarrEvent::GetStatus => "/system/status",
|
||||||
SonarrEvent::GetTasks => "/system/task",
|
SonarrEvent::GetTasks => "/system/task",
|
||||||
SonarrEvent::GetUpdates => "/update",
|
SonarrEvent::GetUpdates => "/update",
|
||||||
@@ -137,7 +137,7 @@ impl NetworkResource for SonarrEvent {
|
|||||||
| SonarrEvent::GetSeriesDetails(_)
|
| SonarrEvent::GetSeriesDetails(_)
|
||||||
| SonarrEvent::DeleteSeries(_)
|
| SonarrEvent::DeleteSeries(_)
|
||||||
| SonarrEvent::EditSeries(_)
|
| SonarrEvent::EditSeries(_)
|
||||||
| SonarrEvent::ToggleSeasonMonitoring(_)
|
| SonarrEvent::ToggleSeasonMonitoring(_, _)
|
||||||
| SonarrEvent::ToggleSeriesMonitoring(_) => "/series",
|
| SonarrEvent::ToggleSeriesMonitoring(_) => "/series",
|
||||||
SonarrEvent::SearchNewSeries(_) => "/series/lookup",
|
SonarrEvent::SearchNewSeries(_) => "/series/lookup",
|
||||||
SonarrEvent::MarkHistoryItemAsFailed(_) => "/history/failed",
|
SonarrEvent::MarkHistoryItemAsFailed(_) => "/history/failed",
|
||||||
@@ -275,12 +275,12 @@ impl Network<'_, '_> {
|
|||||||
.get_episode_releases(params)
|
.get_episode_releases(params)
|
||||||
.await
|
.await
|
||||||
.map(SonarrSerdeable::from),
|
.map(SonarrSerdeable::from),
|
||||||
SonarrEvent::GetSeasonHistory(params) => self
|
SonarrEvent::GetSeasonHistory(series_id, season_number) => self
|
||||||
.get_sonarr_season_history(params)
|
.get_sonarr_season_history(series_id, season_number)
|
||||||
.await
|
.await
|
||||||
.map(SonarrSerdeable::from),
|
.map(SonarrSerdeable::from),
|
||||||
SonarrEvent::GetSeasonReleases(params) => self
|
SonarrEvent::GetSeasonReleases(series_id, season_number) => self
|
||||||
.get_season_releases(params)
|
.get_season_releases(series_id, season_number)
|
||||||
.await
|
.await
|
||||||
.map(SonarrSerdeable::from),
|
.map(SonarrSerdeable::from),
|
||||||
SonarrEvent::GetSecurityConfig => self
|
SonarrEvent::GetSecurityConfig => self
|
||||||
@@ -328,16 +328,16 @@ impl Network<'_, '_> {
|
|||||||
.toggle_sonarr_episode_monitoring(episode_id)
|
.toggle_sonarr_episode_monitoring(episode_id)
|
||||||
.await
|
.await
|
||||||
.map(SonarrSerdeable::from),
|
.map(SonarrSerdeable::from),
|
||||||
SonarrEvent::ToggleSeasonMonitoring(params) => self
|
SonarrEvent::ToggleSeasonMonitoring(series_id, season_number) => self
|
||||||
.toggle_sonarr_season_monitoring(params)
|
.toggle_sonarr_season_monitoring(series_id, season_number)
|
||||||
.await
|
.await
|
||||||
.map(SonarrSerdeable::from),
|
.map(SonarrSerdeable::from),
|
||||||
SonarrEvent::ToggleSeriesMonitoring(series_id) => self
|
SonarrEvent::ToggleSeriesMonitoring(series_id) => self
|
||||||
.toggle_sonarr_series_monitoring(series_id)
|
.toggle_sonarr_series_monitoring(series_id)
|
||||||
.await
|
.await
|
||||||
.map(SonarrSerdeable::from),
|
.map(SonarrSerdeable::from),
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch(params) => self
|
SonarrEvent::TriggerAutomaticSeasonSearch(series_id, season_number) => self
|
||||||
.trigger_automatic_season_search(params)
|
.trigger_automatic_season_search(series_id, season_number)
|
||||||
.await
|
.await
|
||||||
.map(SonarrSerdeable::from),
|
.map(SonarrSerdeable::from),
|
||||||
SonarrEvent::TriggerAutomaticSeriesSearch(series_id) => self
|
SonarrEvent::TriggerAutomaticSeriesSearch(series_id) => self
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ mod test {
|
|||||||
SonarrEvent::GetSeriesDetails(0),
|
SonarrEvent::GetSeriesDetails(0),
|
||||||
SonarrEvent::DeleteSeries(DeleteSeriesParams::default()),
|
SonarrEvent::DeleteSeries(DeleteSeriesParams::default()),
|
||||||
SonarrEvent::EditSeries(EditSeriesParams::default()),
|
SonarrEvent::EditSeries(EditSeriesParams::default()),
|
||||||
SonarrEvent::ToggleSeasonMonitoring((0, 0)),
|
SonarrEvent::ToggleSeasonMonitoring(0, 0),
|
||||||
SonarrEvent::ToggleSeriesMonitoring(0),
|
SonarrEvent::ToggleSeriesMonitoring(0)
|
||||||
)]
|
)]
|
||||||
event: SonarrEvent,
|
event: SonarrEvent,
|
||||||
) {
|
) {
|
||||||
@@ -76,7 +76,7 @@ mod test {
|
|||||||
SonarrEvent::GetQueuedEvents,
|
SonarrEvent::GetQueuedEvents,
|
||||||
SonarrEvent::StartTask(SonarrTaskName::default()),
|
SonarrEvent::StartTask(SonarrTaskName::default()),
|
||||||
SonarrEvent::TriggerAutomaticEpisodeSearch(0),
|
SonarrEvent::TriggerAutomaticEpisodeSearch(0),
|
||||||
SonarrEvent::TriggerAutomaticSeasonSearch((0, 0)),
|
SonarrEvent::TriggerAutomaticSeasonSearch(0, 0),
|
||||||
SonarrEvent::TriggerAutomaticSeriesSearch(0),
|
SonarrEvent::TriggerAutomaticSeriesSearch(0),
|
||||||
SonarrEvent::UpdateAllSeries,
|
SonarrEvent::UpdateAllSeries,
|
||||||
SonarrEvent::UpdateAndScanSeries(0),
|
SonarrEvent::UpdateAndScanSeries(0),
|
||||||
@@ -108,10 +108,7 @@ mod test {
|
|||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
fn test_resource_series_history(
|
fn test_resource_series_history(
|
||||||
#[values(
|
#[values(SonarrEvent::GetSeriesHistory(0), SonarrEvent::GetSeasonHistory(0, 0))]
|
||||||
SonarrEvent::GetSeriesHistory(0),
|
|
||||||
SonarrEvent::GetSeasonHistory((0, 0))
|
|
||||||
)]
|
|
||||||
event: SonarrEvent,
|
event: SonarrEvent,
|
||||||
) {
|
) {
|
||||||
assert_str_eq!(event.resource(), "/history/series");
|
assert_str_eq!(event.resource(), "/history/series");
|
||||||
@@ -139,7 +136,7 @@ mod test {
|
|||||||
#[rstest]
|
#[rstest]
|
||||||
fn test_resource_release(
|
fn test_resource_release(
|
||||||
#[values(
|
#[values(
|
||||||
SonarrEvent::GetSeasonReleases((0, 0)),
|
SonarrEvent::GetSeasonReleases(0, 0),
|
||||||
SonarrEvent::GetEpisodeReleases(0)
|
SonarrEvent::GetEpisodeReleases(0)
|
||||||
)]
|
)]
|
||||||
event: SonarrEvent,
|
event: SonarrEvent,
|
||||||
|
|||||||
Reference in New Issue
Block a user