fix: AddRootFolderBody now constructed prior to AddRootFolder event being sent down the network channel

This commit is contained in:
2024-12-17 14:53:40 -07:00
parent 1f81061152
commit 1d1e42aeb1
7 changed files with 59 additions and 76 deletions
+4 -3
View File
@@ -4,6 +4,8 @@ use anyhow::Result;
use clap::{arg, command, ArgAction, Subcommand};
use tokio::sync::Mutex;
use super::RadarrCommand;
use crate::models::servarr_models::AddRootFolderBody;
use crate::{
app::App,
cli::{CliCommandHandler, Command},
@@ -11,8 +13,6 @@ use crate::{
network::{radarr_network::RadarrEvent, NetworkTrait},
};
use super::RadarrCommand;
#[cfg(test)]
#[path = "add_command_handler_tests.rs"]
mod add_command_handler_tests;
@@ -138,9 +138,10 @@ impl<'a, 'b> CliCommandHandler<'a, 'b, RadarrAddCommand> for RadarrAddCommandHan
serde_json::to_string_pretty(&resp)?
}
RadarrAddCommand::RootFolder { root_folder_path } => {
let add_root_folder_body = AddRootFolderBody { path: root_folder_path };
let resp = self
.network
.handle_network_event(RadarrEvent::AddRootFolder(Some(root_folder_path)).into())
.handle_network_event(RadarrEvent::AddRootFolder(add_root_folder_body).into())
.await?;
serde_json::to_string_pretty(&resp)?
}
+3 -1
View File
@@ -368,6 +368,7 @@ mod tests {
use super::*;
use mockall::predicate::eq;
use crate::models::servarr_models::AddRootFolderBody;
use serde_json::json;
use tokio::sync::Mutex;
@@ -421,11 +422,12 @@ mod tests {
#[tokio::test]
async fn test_handle_add_root_folder_command() {
let expected_root_folder_path = "/nfs/test".to_owned();
let expected_add_root_folder_body = AddRootFolderBody { path: expected_root_folder_path.clone() };
let mut mock_network = MockNetworkTrait::new();
mock_network
.expect_handle_network_event()
.with(eq::<NetworkEvent>(
RadarrEvent::AddRootFolder(Some(expected_root_folder_path.clone())).into(),
RadarrEvent::AddRootFolder(expected_add_root_folder_body).into(),
))
.times(1)
.returning(|_| {