test: Added in unit tests for TUI support for multiple custom named Servarrs

This commit is contained in:
2025-02-27 19:30:17 -07:00
parent 9b63b10118
commit f87e02cd7c
76 changed files with 1635 additions and 1403 deletions
Generated
+266 -175
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -62,6 +62,7 @@ mockall = "0.13.0"
mockito = "1.0.0" mockito = "1.0.0"
pretty_assertions = "1.3.0" pretty_assertions = "1.3.0"
rstest = "0.23.0" rstest = "0.23.0"
serial_test = "3.2.0"
[dev-dependencies.cargo-husky] [dev-dependencies.cargo-husky]
version = "1" version = "1"
+1 -1
View File
@@ -1,4 +1,4 @@
FROM rust:1.82 AS builder FROM rust:1.85 AS builder
WORKDIR /usr/src WORKDIR /usr/src
# Download and compile Rust dependencies in an empty project and cache as a separate Docker layer # Download and compile Rust dependencies in an empty project and cache as a separate Docker layer
+99 -99
View File
@@ -1,16 +1,13 @@
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use crate::models::Route;
use anyhow::anyhow; use anyhow::anyhow;
use pretty_assertions::{assert_eq, assert_str_eq}; use pretty_assertions::{assert_eq, assert_str_eq};
use rstest::rstest; use serial_test::serial;
use serde::de::value::StringDeserializer;
use serde::de::IntoDeserializer;
use tokio::sync::mpsc; use tokio::sync::mpsc;
use crate::app::context_clues::{build_context_clue_string, SERVARR_CONTEXT_CLUES}; use crate::app::context_clues::{build_context_clue_string, SERVARR_CONTEXT_CLUES};
use crate::app::{ use crate::app::{
deserialize_env_var, interpolate_env_vars, App, AppConfig, Data, ServarrConfig, interpolate_env_vars, App, AppConfig, Data, ServarrConfig,
}; };
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, RadarrData}; use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, RadarrData};
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, SonarrData}; use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, SonarrData};
@@ -19,37 +16,68 @@ mod tests {
use crate::network::NetworkEvent; use crate::network::NetworkEvent;
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
#[rstest] #[test]
fn test_app_new( fn test_app_new() {
#[values(ActiveRadarrBlock::default(), ActiveSonarrBlock::default())] servarr: impl Into<Route> let radarr_config_1 = ServarrConfig {
+ Copy, name: Some("Radarr Test".to_owned()),
) { ..ServarrConfig::default()
let (title, config) = match servarr.into() {
Route::Radarr(_, _) => (
"Radarr",
AppConfig {
radarr: Some(ServarrConfig::default()),
..AppConfig::default()
},
),
Route::Sonarr(_, _) => (
"Sonarr",
AppConfig {
sonarr: Some(ServarrConfig::default()),
..AppConfig::default()
},
),
_ => unreachable!(),
}; };
let tab_route = |title: &'static str| TabRoute { let radarr_config_2 = ServarrConfig {
title, weight: Some(3),
route: servarr.into(), ..ServarrConfig::default()
help: format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None,
}; };
let sonarr_config_1 = ServarrConfig {
name: Some("Sonarr Test".to_owned()),
weight: Some(1),
..ServarrConfig::default()
};
let sonarr_config_2 = ServarrConfig::default();
let config = AppConfig {
radarr: Some(vec![radarr_config_1.clone(), radarr_config_2.clone()]),
sonarr: Some(vec![sonarr_config_1.clone(), sonarr_config_2.clone()]),
};
let expected_tab_routes = vec![
TabRoute {
title: "Sonarr Test".to_owned(),
route: ActiveSonarrBlock::default().into(),
help: format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None,
config: Some(sonarr_config_1),
},
TabRoute {
title: "Radarr 1".to_owned(),
route: ActiveRadarrBlock::default().into(),
help: format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None,
config: Some(radarr_config_2),
},
TabRoute {
title: "Radarr Test".to_owned(),
route: ActiveRadarrBlock::default().into(),
help: format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None,
config: Some(radarr_config_1),
},
TabRoute {
title: "Sonarr 1".to_owned(),
route: ActiveSonarrBlock::default().into(),
help: format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None,
config: Some(sonarr_config_2),
},
];
let app = App::new( let app = App::new(
mpsc::channel::<NetworkEvent>(500).0, mpsc::channel::<NetworkEvent>(500).0,
@@ -58,13 +86,13 @@ mod tests {
); );
assert!(app.navigation_stack.is_empty()); assert!(app.navigation_stack.is_empty());
assert_eq!(app.get_current_route(), servarr.into()); assert_eq!(app.get_current_route(), ActiveSonarrBlock::default().into());
assert!(app.network_tx.is_some()); assert!(app.network_tx.is_some());
assert!(!app.cancellation_token.is_cancelled()); assert!(!app.cancellation_token.is_cancelled());
assert!(app.is_first_render); assert!(app.is_first_render);
assert_eq!(app.error, HorizontallyScrollableText::default()); assert_eq!(app.error, HorizontallyScrollableText::default());
assert_eq!(app.server_tabs.index, 0); assert_eq!(app.server_tabs.index, 0);
assert_eq!(app.server_tabs.tabs, vec![tab_route(title)]); assert_eq!(app.server_tabs.tabs, expected_tab_routes);
assert_eq!(app.tick_until_poll, 400); assert_eq!(app.tick_until_poll, 400);
assert_eq!(app.ticks_until_scroll, 4); assert_eq!(app.ticks_until_scroll, 4);
assert_eq!(app.tick_count, 0); assert_eq!(app.tick_count, 0);
@@ -85,29 +113,6 @@ mod tests {
assert!(app.is_first_render); assert!(app.is_first_render);
assert_eq!(app.error, HorizontallyScrollableText::default()); assert_eq!(app.error, HorizontallyScrollableText::default());
assert_eq!(app.server_tabs.index, 0); assert_eq!(app.server_tabs.index, 0);
assert_eq!(
app.server_tabs.tabs,
vec![
TabRoute {
title: "Radarr",
route: ActiveRadarrBlock::Movies.into(),
help: format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None,
},
TabRoute {
title: "Sonarr",
route: ActiveSonarrBlock::Series.into(),
help: format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None,
},
]
);
assert_eq!(app.tick_until_poll, 400); assert_eq!(app.tick_until_poll, 400);
assert_eq!(app.ticks_until_scroll, 4); assert_eq!(app.ticks_until_scroll, 4);
assert_eq!(app.tick_count, 0); assert_eq!(app.tick_count, 0);
@@ -120,7 +125,7 @@ mod tests {
#[test] #[test]
fn test_navigation_stack_methods() { fn test_navigation_stack_methods() {
let mut app = App::default(); let mut app = App::test_default();
let default_route = app.server_tabs.tabs.first().unwrap().route; let default_route = app.server_tabs.tabs.first().unwrap().route;
assert_eq!(app.get_current_route(), default_route); assert_eq!(app.get_current_route(), default_route);
@@ -157,7 +162,7 @@ mod tests {
let mut app = App { let mut app = App {
is_loading: true, is_loading: true,
should_refresh: false, should_refresh: false,
..App::default() ..App::test_default()
}; };
app.cancellation_token.cancel(); app.cancellation_token.cancel();
@@ -175,7 +180,7 @@ mod tests {
fn test_reset_tick_count() { fn test_reset_tick_count() {
let mut app = App { let mut app = App {
tick_count: 2, tick_count: 2,
..App::default() ..App::test_default()
}; };
app.reset_tick_count(); app.reset_tick_count();
@@ -202,7 +207,7 @@ mod tests {
error: "Test error".to_owned().into(), error: "Test error".to_owned().into(),
is_first_render: false, is_first_render: false,
data, data,
..App::default() ..App::test_default()
}; };
app.reset(); app.reset();
@@ -216,7 +221,7 @@ mod tests {
#[test] #[test]
fn test_handle_error() { fn test_handle_error() {
let mut app = App::default(); let mut app = App::test_default();
let test_string = "Testing"; let test_string = "Testing";
app.handle_error(anyhow!(test_string)); app.handle_error(anyhow!(test_string));
@@ -235,7 +240,7 @@ mod tests {
let mut app = App { let mut app = App {
tick_until_poll: 2, tick_until_poll: 2,
network_tx: Some(sync_network_tx), network_tx: Some(sync_network_tx),
..App::default() ..App::test_default()
}; };
assert_eq!(app.tick_count, 0); assert_eq!(app.tick_count, 0);
@@ -259,7 +264,7 @@ mod tests {
tick_until_poll: 2, tick_until_poll: 2,
network_tx: Some(sync_network_tx), network_tx: Some(sync_network_tx),
is_first_render: true, is_first_render: true,
..App::default() ..App::test_default()
}; };
assert_eq!(app.tick_count, 0); assert_eq!(app.tick_count, 0);
@@ -313,7 +318,7 @@ mod tests {
tick_until_poll: 2, tick_until_poll: 2,
tick_count: 2, tick_count: 2,
is_routing: true, is_routing: true,
..App::default() ..App::test_default()
}; };
app.on_tick().await; app.on_tick().await;
@@ -326,7 +331,7 @@ mod tests {
tick_until_poll: 2, tick_until_poll: 2,
tick_count: 2, tick_count: 2,
should_refresh: true, should_refresh: true,
..App::default() ..App::test_default()
}; };
app.on_tick().await; app.on_tick().await;
@@ -345,7 +350,7 @@ mod tests {
fn test_servarr_config_default() { fn test_servarr_config_default() {
let servarr_config = ServarrConfig::default(); let servarr_config = ServarrConfig::default();
assert!(servarr_config.name.is_empty()); assert_eq!(servarr_config.name, None);
assert_eq!(servarr_config.host, Some("localhost".to_string())); assert_eq!(servarr_config.host, Some("localhost".to_string()));
assert_eq!(servarr_config.port, None); assert_eq!(servarr_config.port, None);
assert_eq!(servarr_config.uri, None); assert_eq!(servarr_config.uri, None);
@@ -356,21 +361,9 @@ mod tests {
} }
#[test] #[test]
fn test_deserialize_env_var() { #[serial]
std::env::set_var("TEST_VAR_DESERIALIZE", "testing");
let deserializer: StringDeserializer<serde_yaml::Error> =
"${TEST_VAR_DESERIALIZE}".to_owned().into_deserializer();
let env_var: Result<String, serde_yaml::Error> = deserialize_env_var(deserializer);
assert!(env_var.is_ok());
assert_str_eq!(env_var.unwrap(), "testing");
std::env::remove_var("TEST_VAR_DESERIALIZE");
}
#[test]
fn test_deserialize_optional_env_var_is_present() { fn test_deserialize_optional_env_var_is_present() {
std::env::set_var("TEST_VAR_DESERIALIZE_OPTION", "localhost"); unsafe { std::env::set_var("TEST_VAR_DESERIALIZE_OPTION", "localhost") };
let yaml_data = r#" let yaml_data = r#"
host: ${TEST_VAR_DESERIALIZE_OPTION} host: ${TEST_VAR_DESERIALIZE_OPTION}
api_token: "test123" api_token: "test123"
@@ -379,12 +372,13 @@ mod tests {
let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap(); let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap();
assert_eq!(config.host, Some("localhost".to_string())); assert_eq!(config.host, Some("localhost".to_string()));
std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION"); unsafe { std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION") };
} }
#[test] #[test]
#[serial]
fn test_deserialize_optional_env_var_does_not_overwrite_non_env_value() { fn test_deserialize_optional_env_var_does_not_overwrite_non_env_value() {
std::env::set_var("TEST_VAR_DESERIALIZE_OPTION_NO_OVERWRITE", "localhost"); unsafe { std::env::set_var("TEST_VAR_DESERIALIZE_OPTION_NO_OVERWRITE", "localhost") };
let yaml_data = r#" let yaml_data = r#"
host: www.example.com host: www.example.com
api_token: "test123" api_token: "test123"
@@ -393,7 +387,7 @@ mod tests {
let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap(); let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap();
assert_eq!(config.host, Some("www.example.com".to_string())); assert_eq!(config.host, Some("www.example.com".to_string()));
std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION_NO_OVERWRITE"); unsafe { std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION_NO_OVERWRITE") };
} }
#[test] #[test]
@@ -408,8 +402,9 @@ mod tests {
} }
#[test] #[test]
#[serial]
fn test_deserialize_optional_u16_env_var_is_present() { fn test_deserialize_optional_u16_env_var_is_present() {
std::env::set_var("TEST_VAR_DESERIALIZE_OPTION_U16", "1"); unsafe { std::env::set_var("TEST_VAR_DESERIALIZE_OPTION_U16", "1") };
let yaml_data = r#" let yaml_data = r#"
port: ${TEST_VAR_DESERIALIZE_OPTION_U16} port: ${TEST_VAR_DESERIALIZE_OPTION_U16}
api_token: "test123" api_token: "test123"
@@ -418,12 +413,13 @@ mod tests {
let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap(); let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap();
assert_eq!(config.port, Some(1)); assert_eq!(config.port, Some(1));
std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION_U16"); unsafe { std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION_U16") };
} }
#[test] #[test]
#[serial]
fn test_deserialize_optional_u16_env_var_does_not_overwrite_non_env_value() { fn test_deserialize_optional_u16_env_var_does_not_overwrite_non_env_value() {
std::env::set_var("TEST_VAR_DESERIALIZE_OPTION_U16_UNUSED", "1"); unsafe { std::env::set_var("TEST_VAR_DESERIALIZE_OPTION_U16_UNUSED", "1") };
let yaml_data = r#" let yaml_data = r#"
port: 1234 port: 1234
api_token: "test123" api_token: "test123"
@@ -432,7 +428,7 @@ mod tests {
let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap(); let config: ServarrConfig = serde_yaml::from_str(yaml_data).unwrap();
assert_eq!(config.port, Some(1234)); assert_eq!(config.port, Some(1234));
std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION_U16_UNUSED"); unsafe { std::env::remove_var("TEST_VAR_DESERIALIZE_OPTION_U16_UNUSED") };
} }
#[test] #[test]
@@ -460,13 +456,14 @@ mod tests {
} }
#[test] #[test]
#[serial]
fn test_interpolate_env_vars() { fn test_interpolate_env_vars() {
std::env::set_var("TEST_VAR_INTERPOLATION", "testing"); unsafe { std::env::set_var("TEST_VAR_INTERPOLATION", "testing") };
let var = interpolate_env_vars("${TEST_VAR_INTERPOLATION}"); let var = interpolate_env_vars("${TEST_VAR_INTERPOLATION}");
assert_str_eq!(var, "testing"); assert_str_eq!(var, "testing");
std::env::remove_var("TEST_VAR_INTERPOLATION"); unsafe { std::env::remove_var("TEST_VAR_INTERPOLATION") };
} }
#[test] #[test]
@@ -477,13 +474,16 @@ mod tests {
} }
#[test] #[test]
#[serial]
fn test_interpolate_env_vars_scrubs_all_unnecessary_characters() { fn test_interpolate_env_vars_scrubs_all_unnecessary_characters() {
std::env::set_var( unsafe {
"TEST_VAR_INTERPOLATION_UNNECESSARY_CHARACTERS", std::env::set_var(
r#""" "TEST_VAR_INTERPOLATION_UNNECESSARY_CHARACTERS",
r#"""
`"'https://dontdo:this@testing.com/query?test=%20query#results'"` {([\|$!])} `"'https://dontdo:this@testing.com/query?test=%20query#results'"` {([\|$!])}
"""#, """#,
); )
};
let var = interpolate_env_vars("${TEST_VAR_INTERPOLATION_UNNECESSARY_CHARACTERS}"); let var = interpolate_env_vars("${TEST_VAR_INTERPOLATION_UNNECESSARY_CHARACTERS}");
@@ -491,7 +491,7 @@ mod tests {
var, var,
"https://dontdo:this@testing.com/query?test=%20query#results" "https://dontdo:this@testing.com/query?test=%20query#results"
); );
std::env::remove_var("TEST_VAR_INTERPOLATION_UNNECESSARY_CHARACTERS"); unsafe { std::env::remove_var("TEST_VAR_INTERPOLATION_UNNECESSARY_CHARACTERS") };
} }
#[test] #[test]
@@ -514,10 +514,10 @@ mod tests {
let api_token = "thisisatest".to_owned(); let api_token = "thisisatest".to_owned();
let api_token_file = "/root/.config/api_token".to_owned(); let api_token_file = "/root/.config/api_token".to_owned();
let ssl_cert_path = "/some/path".to_owned(); let ssl_cert_path = "/some/path".to_owned();
let expected_str = format!("ServarrConfig {{ name: \"{}\", host: Some(\"{}\"), port: Some({}), uri: Some(\"{}\"), weight: Some(\"{}\"), api_token: Some(\"***********\"), api_token_file: Some(\"{}\"), ssl_cert_path: Some(\"{}\") }}", let expected_str = format!("ServarrConfig {{ name: Some(\"{}\"), host: Some(\"{}\"), port: Some({}), uri: Some(\"{}\"), weight: Some({}), api_token: Some(\"***********\"), api_token_file: Some(\"{}\"), ssl_cert_path: Some(\"{}\") }}",
name, host, port, uri, weight, api_token_file, ssl_cert_path); name, host, port, uri, weight, api_token_file, ssl_cert_path);
let servarr_config = ServarrConfig { let servarr_config = ServarrConfig {
name, name: Some(name),
host: Some(host), host: Some(host),
port: Some(port), port: Some(port),
uri: Some(uri), uri: Some(uri),
+49 -38
View File
@@ -51,16 +51,25 @@ impl App<'_> {
cancellation_token: CancellationToken, cancellation_token: CancellationToken,
) -> Self { ) -> Self {
let mut server_tabs = Vec::new(); let mut server_tabs = Vec::new();
let help = format!(
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
);
if let Some(radarr_configs) = config.radarr { if let Some(radarr_configs) = config.radarr {
let mut idx = 0;
for radarr_config in radarr_configs { for radarr_config in radarr_configs {
let name = if let Some(name) = radarr_config.name.clone() {
name
} else {
idx+=1;
format!("Radarr {}", idx)
};
server_tabs.push(TabRoute { server_tabs.push(TabRoute {
title: radarr_config.name.clone(), title: name,
route: ActiveRadarrBlock::Movies.into(), route: ActiveRadarrBlock::Movies.into(),
help: format!( help: help.clone(),
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None, contextual_help: None,
config: Some(radarr_config), config: Some(radarr_config),
}); });
@@ -68,14 +77,20 @@ impl App<'_> {
} }
if let Some(sonarr_configs) = config.sonarr { if let Some(sonarr_configs) = config.sonarr {
let mut idx = 0;
for sonarr_config in sonarr_configs { for sonarr_config in sonarr_configs {
let name = if let Some(name) = sonarr_config.name.clone() {
name
} else {
idx+=1;
format!("Sonarr {}", idx)
};
server_tabs.push(TabRoute { server_tabs.push(TabRoute {
title: sonarr_config.name.clone(), title: name,
route: ActiveSonarrBlock::Series.into(), route: ActiveSonarrBlock::Series.into(),
help: format!( help: help.clone(),
"<↑↓> scroll | ←→ change tab | {} ",
build_context_clue_string(&SERVARR_CONTEXT_CLUES)
),
contextual_help: None, contextual_help: None,
config: Some(sonarr_config), config: Some(sonarr_config),
}); });
@@ -86,8 +101,8 @@ impl App<'_> {
.into_iter() .into_iter()
.sorted_by(|tab1, tab2| { .sorted_by(|tab1, tab2| {
Ord::cmp( Ord::cmp(
tab1.config.as_ref().unwrap().weight.as_ref().unwrap_or(&0), tab1.config.as_ref().unwrap().weight.as_ref().unwrap_or(&1000),
tab2.config.as_ref().unwrap().weight.as_ref().unwrap_or(&0), tab2.config.as_ref().unwrap().weight.as_ref().unwrap_or(&1000),
) )
}) })
.collect(); .collect();
@@ -190,6 +205,24 @@ impl Default for App<'_> {
cancellation_token: CancellationToken::new(), cancellation_token: CancellationToken::new(),
error: HorizontallyScrollableText::default(), error: HorizontallyScrollableText::default(),
is_first_render: true, is_first_render: true,
server_tabs: TabState::new(Vec::new()),
tick_until_poll: 400,
ticks_until_scroll: 4,
tick_count: 0,
is_loading: false,
is_routing: false,
should_refresh: false,
should_ignore_quit_key: false,
cli_mode: false,
data: Data::default(),
}
}
}
#[cfg(test)]
impl App<'_> {
pub fn test_default() -> Self {
App {
server_tabs: TabState::new(vec![ server_tabs: TabState::new(vec![
TabRoute { TabRoute {
title: "Radarr".to_owned(), title: "Radarr".to_owned(),
@@ -212,15 +245,7 @@ impl Default for App<'_> {
config: Some(ServarrConfig::default()), config: Some(ServarrConfig::default()),
}, },
]), ]),
tick_until_poll: 400, ..App::default()
ticks_until_scroll: 4,
tick_count: 0,
is_loading: false,
is_routing: false,
should_refresh: false,
should_ignore_quit_key: false,
cli_mode: false,
data: Data::default(),
} }
} }
} }
@@ -292,8 +317,8 @@ impl AppConfig {
#[derive(Redact, Deserialize, Serialize, Clone, PartialEq, Eq)] #[derive(Redact, Deserialize, Serialize, Clone, PartialEq, Eq)]
pub struct ServarrConfig { pub struct ServarrConfig {
#[serde(default, deserialize_with = "deserialize_env_var")] #[serde(default, deserialize_with = "deserialize_optional_env_var")]
pub name: String, pub name: Option<String>,
#[serde(default, deserialize_with = "deserialize_optional_env_var")] #[serde(default, deserialize_with = "deserialize_optional_env_var")]
pub host: Option<String>, pub host: Option<String>,
#[serde(default, deserialize_with = "deserialize_u16_env_var")] #[serde(default, deserialize_with = "deserialize_u16_env_var")]
@@ -313,11 +338,6 @@ pub struct ServarrConfig {
impl ServarrConfig { impl ServarrConfig {
fn validate(&self) { fn validate(&self) {
if self.name.is_empty() {
log_and_print_error("'name' is required for configuration".to_owned());
process::exit(1);
}
if self.host.is_none() && self.uri.is_none() { if self.host.is_none() && self.uri.is_none() {
log_and_print_error("'host' or 'uri' is required for configuration".to_owned()); log_and_print_error("'host' or 'uri' is required for configuration".to_owned());
process::exit(1); process::exit(1);
@@ -352,7 +372,7 @@ impl ServarrConfig {
impl Default for ServarrConfig { impl Default for ServarrConfig {
fn default() -> Self { fn default() -> Self {
ServarrConfig { ServarrConfig {
name: String::new(), name: None,
host: Some("localhost".to_string()), host: Some("localhost".to_string()),
port: None, port: None,
uri: None, uri: None,
@@ -369,15 +389,6 @@ pub fn log_and_print_error(error: String) {
eprintln!("error: {}", error.red()); eprintln!("error: {}", error.red());
} }
fn deserialize_env_var<'de, D>(deserializer: D) -> Result<String, D::Error>
where
D: serde::Deserializer<'de>,
{
let s: String = String::deserialize(deserializer)?;
let interpolated = interpolate_env_vars(&s);
Ok(interpolated)
}
fn deserialize_optional_env_var<'de, D>(deserializer: D) -> Result<Option<String>, D::Error> fn deserialize_optional_env_var<'de, D>(deserializer: D) -> Result<Option<String>, D::Error>
where where
D: serde::Deserializer<'de>, D: serde::Deserializer<'de>,
+9 -9
View File
@@ -467,7 +467,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_dispatch_by_cast_crew_blocks_cast_and_crew_non_empty() { async fn test_dispatch_by_cast_crew_blocks_cast_and_crew_non_empty() {
let mut app = App::default(); let mut app = App::test_default();
for active_radarr_block in &[ActiveRadarrBlock::Cast, ActiveRadarrBlock::Crew] { for active_radarr_block in &[ActiveRadarrBlock::Cast, ActiveRadarrBlock::Crew] {
let mut movie_details_modal = MovieDetailsModal::default(); let mut movie_details_modal = MovieDetailsModal::default();
@@ -511,7 +511,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_dispatch_by_manual_search_block_movie_releases_non_empty() { async fn test_dispatch_by_manual_search_block_movie_releases_non_empty() {
let mut app = App::default(); let mut app = App::test_default();
let mut movie_details_modal = MovieDetailsModal::default(); let mut movie_details_modal = MovieDetailsModal::default();
movie_details_modal movie_details_modal
.movie_releases .movie_releases
@@ -531,7 +531,7 @@ mod tests {
async fn test_dispatch_by_manual_search_block_is_loading() { async fn test_dispatch_by_manual_search_block_is_loading() {
let mut app = App { let mut app = App {
is_loading: true, is_loading: true,
..App::default() ..App::test_default()
}; };
app app
@@ -545,7 +545,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_check_for_radarr_prompt_action_no_prompt_confirm() { async fn test_check_for_radarr_prompt_action_no_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.prompt_confirm = false; app.data.radarr_data.prompt_confirm = false;
app.check_for_radarr_prompt_action().await; app.check_for_radarr_prompt_action().await;
@@ -729,7 +729,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_populate_movie_collection_table_unfiltered() { async fn test_populate_movie_collection_table_unfiltered() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.collections.set_items(vec![Collection { app.data.radarr_data.collections.set_items(vec![Collection {
movies: Some(vec![CollectionMovie::default()]), movies: Some(vec![CollectionMovie::default()]),
..Collection::default() ..Collection::default()
@@ -742,7 +742,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_populate_movie_collection_table_filtered() { async fn test_populate_movie_collection_table_filtered() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -759,7 +759,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_extract_movie_id() { async fn test_extract_movie_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movies.set_items(vec![Movie { app.data.radarr_data.movies.set_items(vec![Movie {
id: 1, id: 1,
..Movie::default() ..Movie::default()
@@ -770,7 +770,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_extract_radarr_indexer_id() { async fn test_extract_radarr_indexer_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexers.set_items(vec![Indexer { app.data.radarr_data.indexers.set_items(vec![Indexer {
id: 1, id: 1,
..Indexer::default() ..Indexer::default()
@@ -785,7 +785,7 @@ mod tests {
network_tx: Some(sync_network_tx), network_tx: Some(sync_network_tx),
tick_count: 1, tick_count: 1,
is_first_render: false, is_first_render: false,
..App::default() ..App::test_default()
}; };
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
+15 -15
View File
@@ -185,7 +185,7 @@ mod tests {
async fn test_dispatch_by_manual_season_search_block_is_loading() { async fn test_dispatch_by_manual_season_search_block_is_loading() {
let mut app = App { let mut app = App {
is_loading: true, is_loading: true,
..App::default() ..App::test_default()
}; };
app app
@@ -199,7 +199,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_dispatch_by_manual_season_search_block_season_releases_non_empty() { async fn test_dispatch_by_manual_season_search_block_season_releases_non_empty() {
let mut app = App::default(); let mut app = App::test_default();
let mut season_details_modal = SeasonDetailsModal::default(); let mut season_details_modal = SeasonDetailsModal::default();
season_details_modal season_details_modal
.season_releases .season_releases
@@ -304,7 +304,7 @@ mod tests {
async fn test_dispatch_by_manual_episode_search_block_is_loading() { async fn test_dispatch_by_manual_episode_search_block_is_loading() {
let mut app = App { let mut app = App {
is_loading: true, is_loading: true,
..App::default() ..App::test_default()
}; };
app app
@@ -318,7 +318,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_dispatch_by_manual_episode_search_block_episode_releases_non_empty() { async fn test_dispatch_by_manual_episode_search_block_episode_releases_non_empty() {
let mut app = App::default(); let mut app = App::test_default();
let mut episode_details_modal = EpisodeDetailsModal::default(); let mut episode_details_modal = EpisodeDetailsModal::default();
episode_details_modal episode_details_modal
.episode_releases .episode_releases
@@ -554,7 +554,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_check_for_sonarr_prompt_action_no_prompt_confirm() { async fn test_check_for_sonarr_prompt_action_no_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.prompt_confirm = false; app.data.sonarr_data.prompt_confirm = false;
app.check_for_sonarr_prompt_action().await; app.check_for_sonarr_prompt_action().await;
@@ -750,7 +750,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_populate_seasons_table_unfiltered() { async fn test_populate_seasons_table_unfiltered() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![Series { app.data.sonarr_data.series.set_items(vec![Series {
seasons: Some(vec![Season::default()]), seasons: Some(vec![Season::default()]),
..Series::default() ..Series::default()
@@ -770,7 +770,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_populate_seasons_table_filtered() { async fn test_populate_seasons_table_filtered() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.series.set_filtered_items(vec![Series { app.data.sonarr_data.series.set_filtered_items(vec![Series {
seasons: Some(vec![Season::default()]), seasons: Some(vec![Season::default()]),
..Series::default() ..Series::default()
@@ -790,7 +790,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_extract_episode_id() { async fn test_extract_episode_id() {
let mut app = App::default(); let mut app = App::test_default();
let mut season_details_modal = SeasonDetailsModal::default(); let mut season_details_modal = SeasonDetailsModal::default();
season_details_modal.episodes.set_items(vec![Episode { season_details_modal.episodes.set_items(vec![Episode {
id: 1, id: 1,
@@ -804,14 +804,14 @@ mod tests {
#[tokio::test] #[tokio::test]
#[should_panic(expected = "Season details have not been loaded")] #[should_panic(expected = "Season details have not been loaded")]
async fn test_extract_episode_id_requires_season_details_modal_to_be_some() { async fn test_extract_episode_id_requires_season_details_modal_to_be_some() {
let app = App::default(); let app = App::test_default();
assert_eq!(app.extract_episode_id().await, 0); assert_eq!(app.extract_episode_id().await, 0);
} }
#[tokio::test] #[tokio::test]
async fn test_extract_series_id() { async fn test_extract_series_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![Series { app.data.sonarr_data.series.set_items(vec![Series {
id: 1, id: 1,
..Series::default() ..Series::default()
@@ -822,7 +822,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_extract_series_id_season_number_tuple() { async fn test_extract_series_id_season_number_tuple() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![Series { app.data.sonarr_data.series.set_items(vec![Series {
id: 1, id: 1,
..Series::default() ..Series::default()
@@ -837,7 +837,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_extract_add_new_series_search_query() { async fn test_extract_add_new_series_search_query() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.add_series_search = Some("test search".into()); app.data.sonarr_data.add_series_search = Some("test search".into());
assert_str_eq!( assert_str_eq!(
@@ -849,14 +849,14 @@ mod tests {
#[tokio::test] #[tokio::test]
#[should_panic(expected = "Add series search is empty")] #[should_panic(expected = "Add series search is empty")]
async fn test_extract_add_new_series_search_query_panics_when_the_query_is_not_set() { async fn test_extract_add_new_series_search_query_panics_when_the_query_is_not_set() {
let app = App::default(); let app = App::test_default();
app.extract_add_new_series_search_query().await; app.extract_add_new_series_search_query().await;
} }
#[tokio::test] #[tokio::test]
async fn test_extract_sonarr_indexer_id() { async fn test_extract_sonarr_indexer_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.indexers.set_items(vec![Indexer { app.data.sonarr_data.indexers.set_items(vec![Indexer {
id: 1, id: 1,
..Indexer::default() ..Indexer::default()
@@ -871,7 +871,7 @@ mod tests {
network_tx: Some(sync_network_tx), network_tx: Some(sync_network_tx),
tick_count: 1, tick_count: 1,
is_first_render: false, is_first_render: false,
..App::default() ..App::test_default()
}; };
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
+2 -2
View File
@@ -136,7 +136,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let clear_blocklist_command = RadarrCommand::ClearBlocklist.into(); let clear_blocklist_command = RadarrCommand::ClearBlocklist.into();
let result = handle_command(&app_arc, clear_blocklist_command, &mut mock_network).await; let result = handle_command(&app_arc, clear_blocklist_command, &mut mock_network).await;
@@ -167,7 +167,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let clear_blocklist_command = SonarrCommand::ClearBlocklist.into(); let clear_blocklist_command = SonarrCommand::ClearBlocklist.into();
let result = handle_command(&app_arc, clear_blocklist_command, &mut mock_network).await; let result = handle_command(&app_arc, clear_blocklist_command, &mut mock_network).await;
+3 -3
View File
@@ -400,7 +400,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_movie_command = RadarrAddCommand::Movie { let add_movie_command = RadarrAddCommand::Movie {
tmdb_id: 1, tmdb_id: 1,
root_folder_path: "/test".to_owned(), root_folder_path: "/test".to_owned(),
@@ -437,7 +437,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_root_folder_command = RadarrAddCommand::RootFolder { let add_root_folder_command = RadarrAddCommand::RootFolder {
root_folder_path: expected_root_folder_path, root_folder_path: expected_root_folder_path,
}; };
@@ -465,7 +465,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_tag_command = RadarrAddCommand::Tag { let add_tag_command = RadarrAddCommand::Tag {
name: expected_tag_name, name: expected_tag_name,
}; };
@@ -276,7 +276,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_blocklist_item_command = RadarrDeleteCommand::BlocklistItem { let delete_blocklist_item_command = RadarrDeleteCommand::BlocklistItem {
blocklist_item_id: 1, blocklist_item_id: 1,
}; };
@@ -307,7 +307,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_download_command = RadarrDeleteCommand::Download { download_id: 1 }; let delete_download_command = RadarrDeleteCommand::Download { download_id: 1 };
let result = let result =
@@ -333,7 +333,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_indexer_command = RadarrDeleteCommand::Indexer { indexer_id: 1 }; let delete_indexer_command = RadarrDeleteCommand::Indexer { indexer_id: 1 };
let result = let result =
@@ -363,7 +363,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_movie_command = RadarrDeleteCommand::Movie { let delete_movie_command = RadarrDeleteCommand::Movie {
movie_id: 1, movie_id: 1,
delete_files_from_disk: true, delete_files_from_disk: true,
@@ -393,7 +393,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_root_folder_command = RadarrDeleteCommand::RootFolder { root_folder_id: 1 }; let delete_root_folder_command = RadarrDeleteCommand::RootFolder { root_folder_id: 1 };
let result = let result =
@@ -419,7 +419,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_tag_command = RadarrDeleteCommand::Tag { tag_id: 1 }; let delete_tag_command = RadarrDeleteCommand::Tag { tag_id: 1 };
let result = let result =
+12 -12
View File
@@ -865,7 +865,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_all_indexer_settings_command = RadarrEditCommand::AllIndexerSettings { let edit_all_indexer_settings_command = RadarrEditCommand::AllIndexerSettings {
allow_hardcoded_subs: true, allow_hardcoded_subs: true,
disable_allow_hardcoded_subs: false, disable_allow_hardcoded_subs: false,
@@ -936,7 +936,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_all_indexer_settings_command = RadarrEditCommand::AllIndexerSettings { let edit_all_indexer_settings_command = RadarrEditCommand::AllIndexerSettings {
allow_hardcoded_subs: false, allow_hardcoded_subs: false,
disable_allow_hardcoded_subs: true, disable_allow_hardcoded_subs: true,
@@ -1008,7 +1008,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_all_indexer_settings_command = RadarrEditCommand::AllIndexerSettings { let edit_all_indexer_settings_command = RadarrEditCommand::AllIndexerSettings {
allow_hardcoded_subs: false, allow_hardcoded_subs: false,
disable_allow_hardcoded_subs: false, disable_allow_hardcoded_subs: false,
@@ -1055,7 +1055,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_collection_command = RadarrEditCommand::Collection { let edit_collection_command = RadarrEditCommand::Collection {
collection_id: 1, collection_id: 1,
enable_monitoring: true, enable_monitoring: true,
@@ -1097,7 +1097,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_collection_command = RadarrEditCommand::Collection { let edit_collection_command = RadarrEditCommand::Collection {
collection_id: 1, collection_id: 1,
enable_monitoring: false, enable_monitoring: false,
@@ -1139,7 +1139,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_collection_command = RadarrEditCommand::Collection { let edit_collection_command = RadarrEditCommand::Collection {
collection_id: 1, collection_id: 1,
enable_monitoring: false, enable_monitoring: false,
@@ -1187,7 +1187,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_indexer_command = RadarrEditCommand::Indexer { let edit_indexer_command = RadarrEditCommand::Indexer {
indexer_id: 1, indexer_id: 1,
name: Some("Test".to_owned()), name: Some("Test".to_owned()),
@@ -1241,7 +1241,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_indexer_command = RadarrEditCommand::Indexer { let edit_indexer_command = RadarrEditCommand::Indexer {
indexer_id: 1, indexer_id: 1,
name: Some("Test".to_owned()), name: Some("Test".to_owned()),
@@ -1295,7 +1295,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_indexer_command = RadarrEditCommand::Indexer { let edit_indexer_command = RadarrEditCommand::Indexer {
indexer_id: 1, indexer_id: 1,
name: Some("Test".to_owned()), name: Some("Test".to_owned()),
@@ -1345,7 +1345,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_movie_command = RadarrEditCommand::Movie { let edit_movie_command = RadarrEditCommand::Movie {
movie_id: 1, movie_id: 1,
enable_monitoring: true, enable_monitoring: true,
@@ -1388,7 +1388,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_movie_command = RadarrEditCommand::Movie { let edit_movie_command = RadarrEditCommand::Movie {
movie_id: 1, movie_id: 1,
enable_monitoring: false, enable_monitoring: false,
@@ -1431,7 +1431,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_movie_command = RadarrEditCommand::Movie { let edit_movie_command = RadarrEditCommand::Movie {
movie_id: 1, movie_id: 1,
enable_monitoring: false, enable_monitoring: false,
+6 -6
View File
@@ -138,7 +138,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_all_indexer_settings_command = RadarrGetCommand::AllIndexerSettings; let get_all_indexer_settings_command = RadarrGetCommand::AllIndexerSettings;
let result = RadarrGetCommandHandler::with( let result = RadarrGetCommandHandler::with(
@@ -164,7 +164,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_host_config_command = RadarrGetCommand::HostConfig; let get_host_config_command = RadarrGetCommand::HostConfig;
let result = let result =
@@ -190,7 +190,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_movie_details_command = RadarrGetCommand::MovieDetails { movie_id: 1 }; let get_movie_details_command = RadarrGetCommand::MovieDetails { movie_id: 1 };
let result = let result =
@@ -216,7 +216,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_movie_history_command = RadarrGetCommand::MovieHistory { movie_id: 1 }; let get_movie_history_command = RadarrGetCommand::MovieHistory { movie_id: 1 };
let result = let result =
@@ -239,7 +239,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_security_config_command = RadarrGetCommand::SecurityConfig; let get_security_config_command = RadarrGetCommand::SecurityConfig;
let result = let result =
@@ -262,7 +262,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_system_status_command = RadarrGetCommand::SystemStatus; let get_system_status_command = RadarrGetCommand::SystemStatus;
let result = let result =
+3 -3
View File
@@ -147,7 +147,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let result = RadarrListCommandHandler::with(&app_arc, list_command, &mut mock_network) let result = RadarrListCommandHandler::with(&app_arc, list_command, &mut mock_network)
.handle() .handle()
@@ -171,7 +171,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_movie_credits_command = RadarrListCommand::MovieCredits { movie_id: 1 }; let list_movie_credits_command = RadarrListCommand::MovieCredits { movie_id: 1 };
let result = let result =
@@ -197,7 +197,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_logs_command = RadarrListCommand::Logs { let list_logs_command = RadarrListCommand::Logs {
events: 1000, events: 1000,
output_in_log_format: false, output_in_log_format: false,
+14 -14
View File
@@ -292,7 +292,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let clear_blocklist_command = RadarrCommand::ClearBlocklist; let clear_blocklist_command = RadarrCommand::ClearBlocklist;
let result = RadarrCliHandler::with(&app_arc, clear_blocklist_command, &mut mock_network) let result = RadarrCliHandler::with(&app_arc, clear_blocklist_command, &mut mock_network)
@@ -321,7 +321,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let download_release_command = RadarrCommand::DownloadRelease { let download_release_command = RadarrCommand::DownloadRelease {
guid: "guid".to_owned(), guid: "guid".to_owned(),
indexer_id: 1, indexer_id: 1,
@@ -350,7 +350,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let manual_search_command = RadarrCommand::ManualSearch { movie_id: 1 }; let manual_search_command = RadarrCommand::ManualSearch { movie_id: 1 };
let result = RadarrCliHandler::with(&app_arc, manual_search_command, &mut mock_network) let result = RadarrCliHandler::with(&app_arc, manual_search_command, &mut mock_network)
@@ -375,7 +375,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let search_new_movie_command = RadarrCommand::SearchNewMovie { let search_new_movie_command = RadarrCommand::SearchNewMovie {
query: "halo".to_owned(), query: "halo".to_owned(),
}; };
@@ -402,7 +402,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let start_task_command = RadarrCommand::StartTask { let start_task_command = RadarrCommand::StartTask {
task_name: RadarrTaskName::ApplicationCheckUpdate, task_name: RadarrTaskName::ApplicationCheckUpdate,
}; };
@@ -429,7 +429,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let test_indexer_command = RadarrCommand::TestIndexer { indexer_id: 1 }; let test_indexer_command = RadarrCommand::TestIndexer { indexer_id: 1 };
let result = RadarrCliHandler::with(&app_arc, test_indexer_command, &mut mock_network) let result = RadarrCliHandler::with(&app_arc, test_indexer_command, &mut mock_network)
@@ -451,7 +451,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let test_all_indexers_command = RadarrCommand::TestAllIndexers; let test_all_indexers_command = RadarrCommand::TestAllIndexers;
let result = RadarrCliHandler::with(&app_arc, test_all_indexers_command, &mut mock_network) let result = RadarrCliHandler::with(&app_arc, test_all_indexers_command, &mut mock_network)
@@ -476,7 +476,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let trigger_automatic_search_command = RadarrCommand::TriggerAutomaticSearch { movie_id: 1 }; let trigger_automatic_search_command = RadarrCommand::TriggerAutomaticSearch { movie_id: 1 };
let result = RadarrCliHandler::with( let result = RadarrCliHandler::with(
@@ -505,7 +505,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_tag_command = RadarrCommand::Add(RadarrAddCommand::Tag { let add_tag_command = RadarrCommand::Add(RadarrAddCommand::Tag {
name: expected_tag_name, name: expected_tag_name,
}); });
@@ -532,7 +532,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_blocklist_item_command = let delete_blocklist_item_command =
RadarrCommand::Delete(RadarrDeleteCommand::BlocklistItem { RadarrCommand::Delete(RadarrDeleteCommand::BlocklistItem {
blocklist_item_id: 1, blocklist_item_id: 1,
@@ -592,7 +592,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_all_indexer_settings_command = let edit_all_indexer_settings_command =
RadarrCommand::Edit(RadarrEditCommand::AllIndexerSettings { RadarrCommand::Edit(RadarrEditCommand::AllIndexerSettings {
allow_hardcoded_subs: true, allow_hardcoded_subs: true,
@@ -632,7 +632,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_all_indexer_settings_command = let get_all_indexer_settings_command =
RadarrCommand::Get(RadarrGetCommand::AllIndexerSettings); RadarrCommand::Get(RadarrGetCommand::AllIndexerSettings);
@@ -662,7 +662,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_movie_credits_command = let list_movie_credits_command =
RadarrCommand::List(RadarrListCommand::MovieCredits { movie_id: 1 }); RadarrCommand::List(RadarrListCommand::MovieCredits { movie_id: 1 });
@@ -688,7 +688,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let refresh_movie_command = let refresh_movie_command =
RadarrCommand::Refresh(RadarrRefreshCommand::Movie { movie_id: 1 }); RadarrCommand::Refresh(RadarrRefreshCommand::Movie { movie_id: 1 });
@@ -96,7 +96,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let result = RadarrRefreshCommandHandler::with(&app_arc, refresh_command, &mut mock_network) let result = RadarrRefreshCommandHandler::with(&app_arc, refresh_command, &mut mock_network)
.handle() .handle()
@@ -120,7 +120,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let refresh_movie_command = RadarrRefreshCommand::Movie { movie_id: 1 }; let refresh_movie_command = RadarrRefreshCommand::Movie { movie_id: 1 };
let result = let result =
+3 -3
View File
@@ -491,7 +491,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_root_folder_command = SonarrAddCommand::RootFolder { let add_root_folder_command = SonarrAddCommand::RootFolder {
root_folder_path: expected_root_folder_path, root_folder_path: expected_root_folder_path,
}; };
@@ -535,7 +535,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_series_command = SonarrAddCommand::Series { let add_series_command = SonarrAddCommand::Series {
tvdb_id: 1, tvdb_id: 1,
title: "test".to_owned(), title: "test".to_owned(),
@@ -572,7 +572,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_tag_command = SonarrAddCommand::Tag { let add_tag_command = SonarrAddCommand::Tag {
name: expected_tag_name, name: expected_tag_name,
}; };
@@ -309,7 +309,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_blocklist_item_command = SonarrDeleteCommand::BlocklistItem { let delete_blocklist_item_command = SonarrDeleteCommand::BlocklistItem {
blocklist_item_id: 1, blocklist_item_id: 1,
}; };
@@ -340,7 +340,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_download_command = SonarrDeleteCommand::Download { download_id: 1 }; let delete_download_command = SonarrDeleteCommand::Download { download_id: 1 };
let result = let result =
@@ -366,7 +366,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_episode_file_command = SonarrDeleteCommand::EpisodeFile { episode_file_id: 1 }; let delete_episode_file_command = SonarrDeleteCommand::EpisodeFile { episode_file_id: 1 };
let result = let result =
@@ -392,7 +392,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_indexer_command = SonarrDeleteCommand::Indexer { indexer_id: 1 }; let delete_indexer_command = SonarrDeleteCommand::Indexer { indexer_id: 1 };
let result = let result =
@@ -418,7 +418,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_root_folder_command = SonarrDeleteCommand::RootFolder { root_folder_id: 1 }; let delete_root_folder_command = SonarrDeleteCommand::RootFolder { root_folder_id: 1 };
let result = let result =
@@ -448,7 +448,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_series_command = SonarrDeleteCommand::Series { let delete_series_command = SonarrDeleteCommand::Series {
series_id: 1, series_id: 1,
delete_files_from_disk: true, delete_files_from_disk: true,
@@ -478,7 +478,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_tag_command = SonarrDeleteCommand::Tag { tag_id: 1 }; let delete_tag_command = SonarrDeleteCommand::Tag { tag_id: 1 };
let result = let result =
@@ -333,7 +333,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let download_release_command = SonarrDownloadCommand::Series { let download_release_command = SonarrDownloadCommand::Series {
guid: "guid".to_owned(), guid: "guid".to_owned(),
indexer_id: 1, indexer_id: 1,
@@ -369,7 +369,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let download_release_command = SonarrDownloadCommand::Season { let download_release_command = SonarrDownloadCommand::Season {
guid: "guid".to_owned(), guid: "guid".to_owned(),
indexer_id: 1, indexer_id: 1,
@@ -405,7 +405,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let download_release_command = SonarrDownloadCommand::Episode { let download_release_command = SonarrDownloadCommand::Episode {
guid: "guid".to_owned(), guid: "guid".to_owned(),
indexer_id: 1, indexer_id: 1,
+5 -5
View File
@@ -658,7 +658,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_all_indexer_settings_command = SonarrEditCommand::AllIndexerSettings { let edit_all_indexer_settings_command = SonarrEditCommand::AllIndexerSettings {
maximum_size: Some(1), maximum_size: Some(1),
minimum_age: Some(1), minimum_age: Some(1),
@@ -705,7 +705,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_indexer_command = SonarrEditCommand::Indexer { let edit_indexer_command = SonarrEditCommand::Indexer {
indexer_id: 1, indexer_id: 1,
name: Some("Test".to_owned()), name: Some("Test".to_owned()),
@@ -757,7 +757,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_series_command = SonarrEditCommand::Series { let edit_series_command = SonarrEditCommand::Series {
series_id: 1, series_id: 1,
enable_monitoring: true, enable_monitoring: true,
@@ -805,7 +805,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_series_command = SonarrEditCommand::Series { let edit_series_command = SonarrEditCommand::Series {
series_id: 1, series_id: 1,
enable_monitoring: false, enable_monitoring: false,
@@ -853,7 +853,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_series_command = SonarrEditCommand::Series { let edit_series_command = SonarrEditCommand::Series {
series_id: 1, series_id: 1,
enable_monitoring: false, enable_monitoring: false,
+6 -6
View File
@@ -139,7 +139,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_all_indexer_settings_command = SonarrGetCommand::AllIndexerSettings; let get_all_indexer_settings_command = SonarrGetCommand::AllIndexerSettings;
let result = SonarrGetCommandHandler::with( let result = SonarrGetCommandHandler::with(
@@ -168,7 +168,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_episode_details_command = SonarrGetCommand::EpisodeDetails { episode_id: 1 }; let get_episode_details_command = SonarrGetCommand::EpisodeDetails { episode_id: 1 };
let result = let result =
@@ -191,7 +191,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_host_config_command = SonarrGetCommand::HostConfig; let get_host_config_command = SonarrGetCommand::HostConfig;
let result = let result =
@@ -214,7 +214,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_security_config_command = SonarrGetCommand::SecurityConfig; let get_security_config_command = SonarrGetCommand::SecurityConfig;
let result = let result =
@@ -240,7 +240,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_series_details_command = SonarrGetCommand::SeriesDetails { series_id: 1 }; let get_series_details_command = SonarrGetCommand::SeriesDetails { series_id: 1 };
let result = let result =
@@ -263,7 +263,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_system_status_command = SonarrGetCommand::SystemStatus; let get_system_status_command = SonarrGetCommand::SystemStatus;
let result = let result =
+8 -8
View File
@@ -313,7 +313,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let result = SonarrListCommandHandler::with(&app_arc, list_command, &mut mock_network) let result = SonarrListCommandHandler::with(&app_arc, list_command, &mut mock_network)
.handle() .handle()
@@ -337,7 +337,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_episodes_command = SonarrListCommand::Episodes { series_id: 1 }; let list_episodes_command = SonarrListCommand::Episodes { series_id: 1 };
let result = let result =
@@ -363,7 +363,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_episode_files_command = SonarrListCommand::EpisodeFiles { series_id: 1 }; let list_episode_files_command = SonarrListCommand::EpisodeFiles { series_id: 1 };
let result = let result =
@@ -389,7 +389,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_history_command = SonarrListCommand::History { events: 1000 }; let list_history_command = SonarrListCommand::History { events: 1000 };
let result = let result =
@@ -415,7 +415,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_logs_command = SonarrListCommand::Logs { let list_logs_command = SonarrListCommand::Logs {
events: 1000, events: 1000,
output_in_log_format: false, output_in_log_format: false,
@@ -443,7 +443,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_series_history_command = SonarrListCommand::SeriesHistory { series_id: 1 }; let list_series_history_command = SonarrListCommand::SeriesHistory { series_id: 1 };
let result = let result =
@@ -469,7 +469,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_episode_history_command = SonarrListCommand::EpisodeHistory { episode_id: 1 }; let list_episode_history_command = SonarrListCommand::EpisodeHistory { episode_id: 1 };
let result = let result =
@@ -496,7 +496,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_season_history_command = SonarrListCommand::SeasonHistory { let list_season_history_command = SonarrListCommand::SeasonHistory {
series_id: 1, series_id: 1,
season_number: 1, season_number: 1,
@@ -138,7 +138,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let manual_episode_search_command = SonarrManualSearchCommand::Episode { episode_id: 1 }; let manual_episode_search_command = SonarrManualSearchCommand::Episode { episode_id: 1 };
let result = SonarrManualSearchCommandHandler::with( let result = SonarrManualSearchCommandHandler::with(
@@ -168,7 +168,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let manual_season_search_command = SonarrManualSearchCommand::Season { let manual_season_search_command = SonarrManualSearchCommand::Season {
series_id: 1, series_id: 1,
season_number: 1, season_number: 1,
@@ -103,7 +103,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let result = SonarrRefreshCommandHandler::with(&app_arc, refresh_command, &mut mock_network) let result = SonarrRefreshCommandHandler::with(&app_arc, refresh_command, &mut mock_network)
.handle() .handle()
@@ -127,7 +127,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let refresh_series_command = SonarrRefreshCommand::Series { series_id: 1 }; let refresh_series_command = SonarrRefreshCommand::Series { series_id: 1 };
let result = let result =
+17 -17
View File
@@ -272,7 +272,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let claer_blocklist_command = SonarrCommand::ClearBlocklist; let claer_blocklist_command = SonarrCommand::ClearBlocklist;
let result = SonarrCliHandler::with(&app_arc, claer_blocklist_command, &mut mock_network) let result = SonarrCliHandler::with(&app_arc, claer_blocklist_command, &mut mock_network)
@@ -297,7 +297,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let mark_history_item_as_failed_command = let mark_history_item_as_failed_command =
SonarrCommand::MarkHistoryItemAsFailed { history_item_id: 1 }; SonarrCommand::MarkHistoryItemAsFailed { history_item_id: 1 };
@@ -327,7 +327,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let add_tag_command = SonarrCommand::Add(SonarrAddCommand::Tag { let add_tag_command = SonarrCommand::Add(SonarrAddCommand::Tag {
name: expected_tag_name, name: expected_tag_name,
}); });
@@ -354,7 +354,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let delete_blocklist_item_command = let delete_blocklist_item_command =
SonarrCommand::Delete(SonarrDeleteCommand::BlocklistItem { SonarrCommand::Delete(SonarrDeleteCommand::BlocklistItem {
blocklist_item_id: 1, blocklist_item_id: 1,
@@ -388,7 +388,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let download_series_release_command = let download_series_release_command =
SonarrCommand::Download(SonarrDownloadCommand::Series { SonarrCommand::Download(SonarrDownloadCommand::Series {
guid: "1234".to_owned(), guid: "1234".to_owned(),
@@ -442,7 +442,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let edit_all_indexer_settings_command = let edit_all_indexer_settings_command =
SonarrCommand::Edit(SonarrEditCommand::AllIndexerSettings { SonarrCommand::Edit(SonarrEditCommand::AllIndexerSettings {
maximum_size: Some(1), maximum_size: Some(1),
@@ -478,7 +478,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let manual_episode_search_command = let manual_episode_search_command =
SonarrCommand::ManualSearch(SonarrManualSearchCommand::Episode { episode_id: 1 }); SonarrCommand::ManualSearch(SonarrManualSearchCommand::Episode { episode_id: 1 });
@@ -506,7 +506,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let manual_episode_search_command = let manual_episode_search_command =
SonarrCommand::TriggerAutomaticSearch(SonarrTriggerAutomaticSearchCommand::Episode { SonarrCommand::TriggerAutomaticSearch(SonarrTriggerAutomaticSearchCommand::Episode {
episode_id: 1, episode_id: 1,
@@ -532,7 +532,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let get_system_status_command = SonarrCommand::Get(SonarrGetCommand::SystemStatus); let get_system_status_command = SonarrCommand::Get(SonarrGetCommand::SystemStatus);
let result = SonarrCliHandler::with(&app_arc, get_system_status_command, &mut mock_network) let result = SonarrCliHandler::with(&app_arc, get_system_status_command, &mut mock_network)
@@ -554,7 +554,7 @@ mod tests {
Series::default(), Series::default(),
]))) ])))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let list_series_command = SonarrCommand::List(SonarrListCommand::Series); let list_series_command = SonarrCommand::List(SonarrListCommand::Series);
let result = SonarrCliHandler::with(&app_arc, list_series_command, &mut mock_network) let result = SonarrCliHandler::with(&app_arc, list_series_command, &mut mock_network)
@@ -579,7 +579,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let refresh_series_command = let refresh_series_command =
SonarrCommand::Refresh(SonarrRefreshCommand::Series { series_id: 1 }); SonarrCommand::Refresh(SonarrRefreshCommand::Series { series_id: 1 });
@@ -605,7 +605,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let search_new_series_command = SonarrCommand::SearchNewSeries { let search_new_series_command = SonarrCommand::SearchNewSeries {
query: "halo".to_owned(), query: "halo".to_owned(),
}; };
@@ -632,7 +632,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let start_task_command = SonarrCommand::StartTask { let start_task_command = SonarrCommand::StartTask {
task_name: SonarrTaskName::ApplicationUpdateCheck, task_name: SonarrTaskName::ApplicationUpdateCheck,
}; };
@@ -659,7 +659,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let test_indexer_command = SonarrCommand::TestIndexer { indexer_id: 1 }; let test_indexer_command = SonarrCommand::TestIndexer { indexer_id: 1 };
let result = SonarrCliHandler::with(&app_arc, test_indexer_command, &mut mock_network) let result = SonarrCliHandler::with(&app_arc, test_indexer_command, &mut mock_network)
@@ -681,7 +681,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let test_all_indexers_command = SonarrCommand::TestAllIndexers; let test_all_indexers_command = SonarrCommand::TestAllIndexers;
let result = SonarrCliHandler::with(&app_arc, test_all_indexers_command, &mut mock_network) let result = SonarrCliHandler::with(&app_arc, test_all_indexers_command, &mut mock_network)
@@ -706,7 +706,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let toggle_episode_monitoring_command = let toggle_episode_monitoring_command =
SonarrCommand::ToggleEpisodeMonitoring { episode_id: 1 }; SonarrCommand::ToggleEpisodeMonitoring { episode_id: 1 };
@@ -737,7 +737,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let toggle_season_monitoring_command = SonarrCommand::ToggleSeasonMonitoring { let toggle_season_monitoring_command = SonarrCommand::ToggleSeasonMonitoring {
series_id: 1, series_id: 1,
season_number: 1, season_number: 1,
@@ -174,7 +174,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let trigger_automatic_series_search_command = let trigger_automatic_series_search_command =
SonarrTriggerAutomaticSearchCommand::Series { series_id: 1 }; SonarrTriggerAutomaticSearchCommand::Series { series_id: 1 };
@@ -206,7 +206,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let trigger_automatic_season_search_command = SonarrTriggerAutomaticSearchCommand::Season { let trigger_automatic_season_search_command = SonarrTriggerAutomaticSearchCommand::Season {
series_id: 1, series_id: 1,
season_number: 1, season_number: 1,
@@ -238,7 +238,7 @@ mod tests {
json!({"testResponse": "response"}), json!({"testResponse": "response"}),
))) )))
}); });
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let trigger_automatic_episode_search_command = let trigger_automatic_episode_search_command =
SonarrTriggerAutomaticSearchCommand::Episode { episode_id: 1 }; SonarrTriggerAutomaticSearchCommand::Episode { episode_id: 1 };
+11 -11
View File
@@ -102,7 +102,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $block:expr, $context:expr) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $block:expr, $context:expr) => {
#[rstest] #[rstest]
fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) { fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app app
.data .data
@@ -129,7 +129,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:ident, $block:expr, $context:expr, $field:ident) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:ident, $block:expr, $context:expr, $field:ident) => {
#[rstest] #[rstest]
fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) { fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app app
.data .data
@@ -156,7 +156,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident) => {
#[rstest] #[rstest]
fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) { fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app.data.$servarr_data.$data_ref.set_items($items); app.data.$servarr_data.$data_ref.set_items($items);
@@ -179,7 +179,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident, $conversion_fn:ident) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident, $conversion_fn:ident) => {
#[rstest] #[rstest]
fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) { fn $func(#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app.data.$servarr_data.$data_ref.set_items($items); app.data.$servarr_data.$data_ref.set_items($items);
@@ -217,7 +217,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $block:expr, $context:expr) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $block:expr, $context:expr) => {
#[test] #[test]
fn $func() { fn $func() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app.data.$servarr_data.$data_ref.set_items(vec![ app.data.$servarr_data.$data_ref.set_items(vec![
"Test 1".to_owned(), "Test 1".to_owned(),
@@ -244,7 +244,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:ident, $block:expr, $context:expr, $field:ident) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:ident, $block:expr, $context:expr, $field:ident) => {
#[test] #[test]
fn $func() { fn $func() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app app
.data .data
@@ -271,7 +271,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident) => {
#[test] #[test]
fn $func() { fn $func() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app.data.$servarr_data.$data_ref.set_items($items); app.data.$servarr_data.$data_ref.set_items($items);
@@ -294,7 +294,7 @@ mod test_utils {
($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident, $conversion_fn:ident) => { ($func:ident, $handler:ident, $servarr_data:ident, $data_ref:ident, $items:expr, $block:expr, $context:expr, $field:ident, $conversion_fn:ident) => {
#[test] #[test]
fn $func() { fn $func() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
app.data.$servarr_data.$data_ref.set_items($items); app.data.$servarr_data.$data_ref.set_items($items);
@@ -330,7 +330,7 @@ mod test_utils {
#[macro_export] #[macro_export]
macro_rules! test_handler_delegation { macro_rules! test_handler_delegation {
($handler:ident, $base:expr, $active_block:expr) => { ($handler:ident, $base:expr, $active_block:expr) => {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.history.set_items(vec![ app.data.sonarr_data.history.set_items(vec![
$crate::models::sonarr_models::SonarrHistoryItem::default(), $crate::models::sonarr_models::SonarrHistoryItem::default(),
]); ]);
@@ -426,7 +426,7 @@ mod test_utils {
#[macro_export] #[macro_export]
macro_rules! assert_delete_prompt { macro_rules! assert_delete_prompt {
($handler:ident, $block:expr, $expected_block:expr) => { ($handler:ident, $block:expr, $expected_block:expr) => {
let mut app = App::default(); let mut app = App::test_default();
$handler::new(DELETE_KEY, &mut app, $block, None).handle(); $handler::new(DELETE_KEY, &mut app, $block, None).handle();
@@ -443,7 +443,7 @@ mod test_utils {
#[macro_export] #[macro_export]
macro_rules! assert_refresh_key { macro_rules! assert_refresh_key {
($handler:ident, $block:expr) => { ($handler:ident, $block:expr) => {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack($block.into()); app.push_navigation_stack($block.into());
$handler::new(DEFAULT_KEYBINDINGS.refresh.key, &mut app, $block, None).handle(); $handler::new(DEFAULT_KEYBINDINGS.refresh.key, &mut app, $block, None).handle();
+5 -5
View File
@@ -18,7 +18,7 @@ mod tests {
#[test] #[test]
fn test_handle_clear_errors() { fn test_handle_clear_errors() {
let mut app = App::default(); let mut app = App::test_default();
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
handle_clear_errors(&mut app); handle_clear_errors(&mut app);
@@ -30,7 +30,7 @@ mod tests {
#[case(ActiveRadarrBlock::Movies.into(), ActiveRadarrBlock::SearchMovie.into())] #[case(ActiveRadarrBlock::Movies.into(), ActiveRadarrBlock::SearchMovie.into())]
#[case(ActiveSonarrBlock::Series.into(), ActiveSonarrBlock::SearchSeries.into())] #[case(ActiveSonarrBlock::Series.into(), ActiveSonarrBlock::SearchSeries.into())]
fn test_handle_events(#[case] base_block: Route, #[case] top_block: Route) { fn test_handle_events(#[case] base_block: Route, #[case] top_block: Route) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(base_block); app.push_navigation_stack(base_block);
app.push_navigation_stack(top_block); app.push_navigation_stack(top_block);
app app
@@ -56,7 +56,7 @@ mod tests {
where where
T: Into<Route> + Copy, T: Into<Route> + Copy,
{ {
let mut app = App::default(); let mut app = App::test_default();
app.error = "Test".into(); app.error = "Test".into();
app.server_tabs.set_index(index); app.server_tabs.set_index(index);
@@ -84,7 +84,7 @@ mod tests {
#[rstest] #[rstest]
fn test_handle_prompt_toggle_left_right_radarr(#[values(Key::Left, Key::Right)] key: Key) { fn test_handle_prompt_toggle_left_right_radarr(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
assert!(!app.data.radarr_data.prompt_confirm); assert!(!app.data.radarr_data.prompt_confirm);
@@ -100,7 +100,7 @@ mod tests {
#[rstest] #[rstest]
fn test_handle_prompt_toggle_left_right_sonarr(#[values(Key::Left, Key::Right)] key: Key) { fn test_handle_prompt_toggle_left_right_sonarr(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
assert!(!app.data.sonarr_data.prompt_confirm); assert!(!app.data.sonarr_data.prompt_confirm);
@@ -24,7 +24,7 @@ mod tests {
#[test] #[test]
fn test_delete_blocklist_item_prompt() { fn test_delete_blocklist_item_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
BlocklistHandler::new(DELETE_KEY, &mut app, ActiveRadarrBlock::Blocklist, None).handle(); BlocklistHandler::new(DELETE_KEY, &mut app, ActiveRadarrBlock::Blocklist, None).handle();
@@ -37,7 +37,7 @@ mod tests {
#[test] #[test]
fn test_delete_blocklist_item_no_op_when_not_ready() { fn test_delete_blocklist_item_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
@@ -56,7 +56,7 @@ mod tests {
#[rstest] #[rstest]
fn test_blocklist_tab_left(#[values(true, false)] is_ready: bool) { fn test_blocklist_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(3); app.data.radarr_data.main_tabs.set_index(3);
@@ -77,7 +77,7 @@ mod tests {
#[rstest] #[rstest]
fn test_blocklist_tab_right(#[values(true, false)] is_ready: bool) { fn test_blocklist_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(3); app.data.radarr_data.main_tabs.set_index(3);
@@ -108,7 +108,7 @@ mod tests {
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
BlocklistHandler::new(key, &mut app, active_radarr_block, None).handle(); BlocklistHandler::new(key, &mut app, active_radarr_block, None).handle();
@@ -132,7 +132,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_submit() { fn test_blocklist_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
@@ -146,7 +146,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_submit_no_op_when_not_ready() { fn test_blocklist_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
@@ -172,7 +172,7 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
#[case] expected_action: RadarrEvent, #[case] expected_action: RadarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
app.push_navigation_stack(base_route.into()); app.push_navigation_stack(base_route.into());
@@ -196,7 +196,7 @@ mod tests {
)] )]
prompt_block: ActiveRadarrBlock, prompt_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
@@ -232,7 +232,7 @@ mod tests {
#[case] base_block: ActiveRadarrBlock, #[case] base_block: ActiveRadarrBlock,
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(base_block.into()); app.push_navigation_stack(base_block.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
@@ -245,7 +245,7 @@ mod tests {
#[test] #[test]
fn test_esc_blocklist_item_details() { fn test_esc_blocklist_item_details() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
app.push_navigation_stack(ActiveRadarrBlock::BlocklistItemDetails.into()); app.push_navigation_stack(ActiveRadarrBlock::BlocklistItemDetails.into());
@@ -262,7 +262,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
@@ -285,7 +285,7 @@ mod tests {
#[test] #[test]
fn test_refresh_blocklist_key() { fn test_refresh_blocklist_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
@@ -303,7 +303,7 @@ mod tests {
#[test] #[test]
fn test_refresh_blocklist_key_no_op_when_not_ready() { fn test_refresh_blocklist_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
@@ -322,7 +322,7 @@ mod tests {
#[test] #[test]
fn test_clear_blocklist_key() { fn test_clear_blocklist_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
BlocklistHandler::new( BlocklistHandler::new(
@@ -341,7 +341,7 @@ mod tests {
#[test] #[test]
fn test_clear_blocklist_key_no_op_when_not_ready() { fn test_clear_blocklist_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveRadarrBlock::Blocklist.into());
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
@@ -373,7 +373,7 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
#[case] expected_action: RadarrEvent, #[case] expected_action: RadarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(base_route.into()); app.push_navigation_stack(base_route.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
@@ -543,7 +543,7 @@ mod tests {
#[test] #[test]
fn test_extract_blocklist_item_id() { fn test_extract_blocklist_item_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.blocklist.set_items(blocklist_vec()); app.data.radarr_data.blocklist.set_items(blocklist_vec());
let blocklist_item_id = BlocklistHandler::new( let blocklist_item_id = BlocklistHandler::new(
@@ -559,7 +559,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_handler_not_ready_when_loading() { fn test_blocklist_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = BlocklistHandler::new( let handler = BlocklistHandler::new(
@@ -574,7 +574,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_handler_not_ready_when_blocklist_is_empty() { fn test_blocklist_handler_not_ready_when_blocklist_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = BlocklistHandler::new( let handler = BlocklistHandler::new(
@@ -589,7 +589,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_handler_ready_when_not_loading_and_blocklist_is_not_empty() { fn test_blocklist_handler_ready_when_not_loading_and_blocklist_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -27,7 +27,7 @@ mod tests {
#[test] #[test]
fn test_collection_details_submit() { fn test_collection_details_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -104,7 +104,7 @@ mod tests {
#[test] #[test]
fn test_collection_details_submit_no_op_when_not_ready() { fn test_collection_details_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into()); app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into());
app app
@@ -130,7 +130,7 @@ mod tests {
#[test] #[test]
fn test_collection_details_submit_movie_already_in_library() { fn test_collection_details_submit_movie_already_in_library() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -166,7 +166,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_collection_details(#[values(true, false)] is_ready: bool) { fn test_esc_collection_details(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into()); app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into());
@@ -193,7 +193,7 @@ mod tests {
#[test] #[test]
fn test_esc_view_movie_overview() { fn test_esc_view_movie_overview() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into()); app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into());
app.push_navigation_stack(ActiveRadarrBlock::ViewMovieOverview.into()); app.push_navigation_stack(ActiveRadarrBlock::ViewMovieOverview.into());
@@ -237,7 +237,7 @@ mod tests {
#[test] #[test]
fn test_edit_key_no_op_when_not_ready() { fn test_edit_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into()); app.push_navigation_stack(ActiveRadarrBlock::CollectionDetails.into());
let mut radarr_data = create_test_radarr_data(); let mut radarr_data = create_test_radarr_data();
@@ -280,7 +280,7 @@ mod tests {
#[test] #[test]
fn test_collection_details_handler_not_ready_when_loading() { fn test_collection_details_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = CollectionDetailsHandler::new( let handler = CollectionDetailsHandler::new(
@@ -295,7 +295,7 @@ mod tests {
#[test] #[test]
fn test_collection_details_handler_not_ready_when_collection_movies_is_empty() { fn test_collection_details_handler_not_ready_when_collection_movies_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = CollectionDetailsHandler::new( let handler = CollectionDetailsHandler::new(
@@ -310,7 +310,7 @@ mod tests {
#[test] #[test]
fn test_collection_details_handler_ready_when_not_loading_and_collection_movies_is_not_empty() { fn test_collection_details_handler_ready_when_not_loading_and_collection_movies_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -28,7 +28,7 @@ mod tests {
#[rstest] #[rstest]
fn test_collections_tab_left(#[values(true, false)] is_ready: bool) { fn test_collections_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(1); app.data.radarr_data.main_tabs.set_index(1);
@@ -49,7 +49,7 @@ mod tests {
#[rstest] #[rstest]
fn test_collections_tab_right(#[values(true, false)] is_ready: bool) { fn test_collections_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(1); app.data.radarr_data.main_tabs.set_index(1);
@@ -72,7 +72,7 @@ mod tests {
fn test_left_right_update_all_collections_prompt_toggle( fn test_left_right_update_all_collections_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
CollectionsHandler::new( CollectionsHandler::new(
key, key,
@@ -107,7 +107,7 @@ mod tests {
#[test] #[test]
fn test_collections_submit() { fn test_collections_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -124,7 +124,7 @@ mod tests {
#[test] #[test]
fn test_collections_submit_no_op_when_not_ready() { fn test_collections_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app app
@@ -143,7 +143,7 @@ mod tests {
#[test] #[test]
fn test_update_all_collections_prompt_confirm_submit() { fn test_update_all_collections_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -174,7 +174,7 @@ mod tests {
#[test] #[test]
fn test_update_all_collections_prompt_decline_submit() { fn test_update_all_collections_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -211,7 +211,7 @@ mod tests {
#[test] #[test]
fn test_update_all_collections_prompt_block_esc() { fn test_update_all_collections_prompt_block_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app.push_navigation_stack(ActiveRadarrBlock::UpdateAllCollectionsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::UpdateAllCollectionsPrompt.into());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
@@ -233,7 +233,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
@@ -272,7 +272,7 @@ mod tests {
#[test] #[test]
fn test_collection_edit_key_no_op_when_not_ready() { fn test_collection_edit_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
let mut radarr_data = create_test_radarr_data(); let mut radarr_data = create_test_radarr_data();
@@ -303,7 +303,7 @@ mod tests {
#[test] #[test]
fn test_update_key() { fn test_update_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -326,7 +326,7 @@ mod tests {
#[test] #[test]
fn test_update_key_no_op_when_not_ready() { fn test_update_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app app
@@ -351,7 +351,7 @@ mod tests {
#[test] #[test]
fn test_refresh_collections_key() { fn test_refresh_collections_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app app
.data .data
@@ -376,7 +376,7 @@ mod tests {
#[test] #[test]
fn test_refresh_collections_key_no_op_when_not_ready() { fn test_refresh_collections_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app app
@@ -402,7 +402,7 @@ mod tests {
#[test] #[test]
fn test_update_all_collections_prompt_confirm_confirm() { fn test_update_all_collections_prompt_confirm_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -591,7 +591,7 @@ mod tests {
#[test] #[test]
fn test_collections_handler_not_ready_when_loading() { fn test_collections_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = CollectionsHandler::new( let handler = CollectionsHandler::new(
@@ -606,7 +606,7 @@ mod tests {
#[test] #[test]
fn test_collections_handler_not_ready_when_collections_is_empty() { fn test_collections_handler_not_ready_when_collections_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = CollectionsHandler::new( let handler = CollectionsHandler::new(
@@ -621,7 +621,7 @@ mod tests {
#[test] #[test]
fn test_collections_handler_ready_when_not_loading_and_collections_is_not_empty() { fn test_collections_handler_ready_when_not_loading_and_collections_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -32,7 +32,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter()); let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app app
.data .data
@@ -94,7 +94,7 @@ mod tests {
fn test_edit_collection_select_quality_profile_scroll( fn test_edit_collection_select_quality_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app app
.data .data
@@ -148,7 +148,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_collection_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_collection_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(EDIT_COLLECTION_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_COLLECTION_SELECTION_BLOCKS);
@@ -174,7 +174,7 @@ mod tests {
fn test_edit_collection_prompt_scroll_no_op_when_not_ready( fn test_edit_collection_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key, #[values(Key::Up, Key::Down)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -204,7 +204,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_select_minimum_availability_home_end() { fn test_edit_collection_select_minimum_availability_home_end() {
let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter()); let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app app
.data .data
@@ -258,7 +258,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_select_quality_profile_scroll() { fn test_edit_collection_select_quality_profile_scroll() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app app
.data .data
@@ -316,7 +316,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_root_folder_path_input_home_end_keys() { fn test_edit_collection_root_folder_path_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal { app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal {
path: "Test".into(), path: "Test".into(),
..EditCollectionModal::default() ..EditCollectionModal::default()
@@ -376,7 +376,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
EditCollectionHandler::new(key, &mut app, ActiveRadarrBlock::EditCollectionPrompt, None) EditCollectionHandler::new(key, &mut app, ActiveRadarrBlock::EditCollectionPrompt, None)
.handle(); .handle();
@@ -391,7 +391,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_root_folder_path_input_left_right_keys() { fn test_edit_collection_root_folder_path_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal { app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal {
path: "Test".into(), path: "Test".into(),
..EditCollectionModal::default() ..EditCollectionModal::default()
@@ -456,7 +456,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_root_folder_path_input_submit() { fn test_edit_collection_root_folder_path_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal { app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal {
path: "Test Path".into(), path: "Test Path".into(),
@@ -491,7 +491,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_prompt_prompt_decline_submit() { fn test_edit_collection_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app.push_navigation_stack(ActiveRadarrBlock::EditCollectionPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditCollectionPrompt.into());
@@ -520,7 +520,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_confirm_prompt_prompt_confirmation_submit() { fn test_edit_collection_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_collection_modal = EditCollectionModal { let mut edit_collection_modal = EditCollectionModal {
path: "/nfs/Test Path".into(), path: "/nfs/Test Path".into(),
monitored: Some(false), monitored: Some(false),
@@ -582,7 +582,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_edit_collection_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
@@ -618,7 +618,7 @@ mod tests {
ActiveRadarrBlock::EditCollectionPrompt, ActiveRadarrBlock::EditCollectionPrompt,
Some(ActiveRadarrBlock::Collections), Some(ActiveRadarrBlock::Collections),
)); ));
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(EDIT_COLLECTION_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_COLLECTION_SELECTION_BLOCKS);
@@ -671,7 +671,7 @@ mod tests {
ActiveRadarrBlock::EditCollectionPrompt, ActiveRadarrBlock::EditCollectionPrompt,
Some(ActiveRadarrBlock::Collections), Some(ActiveRadarrBlock::Collections),
)); ));
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(EDIT_COLLECTION_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_COLLECTION_SELECTION_BLOCKS);
@@ -731,7 +731,7 @@ mod tests {
#[case] selected_block: ActiveRadarrBlock, #[case] selected_block: ActiveRadarrBlock,
#[case] index: usize, #[case] index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.push_navigation_stack( app.push_navigation_stack(
( (
@@ -772,7 +772,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.push_navigation_stack(ActiveRadarrBlock::EditCollectionPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditCollectionPrompt.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -808,7 +808,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_root_folder_path_input_esc() { fn test_edit_collection_root_folder_path_input_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
@@ -832,7 +832,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_prompt_esc() { fn test_edit_collection_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
app.push_navigation_stack(ActiveRadarrBlock::EditCollectionPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditCollectionPrompt.into());
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
@@ -864,7 +864,7 @@ mod tests {
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.push_navigation_stack(ActiveRadarrBlock::Collections.into()); app.push_navigation_stack(ActiveRadarrBlock::Collections.into());
@@ -893,7 +893,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_root_folder_path_input_backspace() { fn test_edit_collection_root_folder_path_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal { app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal {
path: "Test".into(), path: "Test".into(),
..EditCollectionModal::default() ..EditCollectionModal::default()
@@ -922,7 +922,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_root_folder_path_input_char_key() { fn test_edit_collection_root_folder_path_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
EditCollectionHandler::new( EditCollectionHandler::new(
@@ -948,7 +948,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_confirm_prompt_prompt_confirmation_confirm() { fn test_edit_collection_confirm_prompt_prompt_confirmation_confirm() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_collection_modal = EditCollectionModal { let mut edit_collection_modal = EditCollectionModal {
path: "/nfs/Test Path".into(), path: "/nfs/Test Path".into(),
monitored: Some(false), monitored: Some(false),
@@ -1021,7 +1021,7 @@ mod tests {
#[test] #[test]
fn test_build_edit_collection_params() { fn test_build_edit_collection_params() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_collection_modal = EditCollectionModal { let mut edit_collection_modal = EditCollectionModal {
path: "/nfs/Test Path".into(), path: "/nfs/Test Path".into(),
monitored: Some(false), monitored: Some(false),
@@ -1065,7 +1065,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_handler_is_not_ready_when_loading() { fn test_edit_collection_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = EditCollectionHandler::new( let handler = EditCollectionHandler::new(
@@ -1080,7 +1080,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_handler_is_not_ready_when_edit_collection_modal_is_none() { fn test_edit_collection_handler_is_not_ready_when_edit_collection_modal_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = EditCollectionHandler::new( let handler = EditCollectionHandler::new(
@@ -1095,7 +1095,7 @@ mod tests {
#[test] #[test]
fn test_edit_collection_handler_is_ready_when_edit_collection_modal_is_some() { fn test_edit_collection_handler_is_ready_when_edit_collection_modal_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default()); app.data.radarr_data.edit_collection_modal = Some(EditCollectionModal::default());
@@ -21,7 +21,7 @@ mod tests {
#[test] #[test]
fn test_delete_download_prompt() { fn test_delete_download_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -38,7 +38,7 @@ mod tests {
#[test] #[test]
fn test_delete_download_prompt_no_op_when_not_ready() { fn test_delete_download_prompt_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Downloads.into()); app.push_navigation_stack(ActiveRadarrBlock::Downloads.into());
app app
@@ -61,7 +61,7 @@ mod tests {
#[rstest] #[rstest]
fn test_downloads_tab_left(#[values(true, false)] is_ready: bool) { fn test_downloads_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(2); app.data.radarr_data.main_tabs.set_index(2);
@@ -85,7 +85,7 @@ mod tests {
#[rstest] #[rstest]
fn test_downloads_tab_right(#[values(true, false)] is_ready: bool) { fn test_downloads_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(2); app.data.radarr_data.main_tabs.set_index(2);
@@ -113,7 +113,7 @@ mod tests {
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
DownloadsHandler::new(key, &mut app, active_radarr_block, None).handle(); DownloadsHandler::new(key, &mut app, active_radarr_block, None).handle();
@@ -151,7 +151,7 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
#[case] expected_action: RadarrEvent, #[case] expected_action: RadarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -178,7 +178,7 @@ mod tests {
#[case] base_route: ActiveRadarrBlock, #[case] base_route: ActiveRadarrBlock,
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -210,7 +210,7 @@ mod tests {
#[case] base_block: ActiveRadarrBlock, #[case] base_block: ActiveRadarrBlock,
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(base_block.into()); app.push_navigation_stack(base_block.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
@@ -223,7 +223,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveRadarrBlock::Downloads.into()); app.push_navigation_stack(ActiveRadarrBlock::Downloads.into());
@@ -246,7 +246,7 @@ mod tests {
#[test] #[test]
fn test_update_downloads_key() { fn test_update_downloads_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -269,7 +269,7 @@ mod tests {
#[test] #[test]
fn test_update_downloads_key_no_op_when_not_ready() { fn test_update_downloads_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Downloads.into()); app.push_navigation_stack(ActiveRadarrBlock::Downloads.into());
app app
@@ -291,7 +291,7 @@ mod tests {
#[test] #[test]
fn test_refresh_downloads_key() { fn test_refresh_downloads_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -313,7 +313,7 @@ mod tests {
#[test] #[test]
fn test_refresh_downloads_key_no_op_when_not_ready() { fn test_refresh_downloads_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Downloads.into()); app.push_navigation_stack(ActiveRadarrBlock::Downloads.into());
app app
@@ -350,7 +350,7 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
#[case] expected_action: RadarrEvent, #[case] expected_action: RadarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -389,7 +389,7 @@ mod tests {
#[test] #[test]
fn test_extract_download_id() { fn test_extract_download_id() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -409,7 +409,7 @@ mod tests {
#[test] #[test]
fn test_downloads_handler_not_ready_when_loading() { fn test_downloads_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = DownloadsHandler::new( let handler = DownloadsHandler::new(
@@ -424,7 +424,7 @@ mod tests {
#[test] #[test]
fn test_downloads_handler_not_ready_when_downloads_is_empty() { fn test_downloads_handler_not_ready_when_downloads_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = DownloadsHandler::new( let handler = DownloadsHandler::new(
@@ -439,7 +439,7 @@ mod tests {
#[test] #[test]
fn test_downloads_handler_ready_when_not_loading_and_downloads_is_not_empty() { fn test_downloads_handler_ready_when_not_loading_and_downloads_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
@@ -25,7 +25,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_priority_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_indexer_priority_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -101,7 +101,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_indexer_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -127,7 +127,7 @@ mod tests {
fn test_edit_indexer_prompt_scroll_no_op_when_not_ready( fn test_edit_indexer_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key, #[values(Key::Up, Key::Down)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -155,7 +155,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_home_end() { fn test_edit_indexer_name_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
name: "Test".into(), name: "Test".into(),
@@ -207,7 +207,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_home_end() { fn test_edit_indexer_url_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
url: "Test".into(), url: "Test".into(),
@@ -259,7 +259,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_home_end() { fn test_edit_indexer_api_key_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
api_key: "Test".into(), api_key: "Test".into(),
@@ -311,7 +311,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_home_end() { fn test_edit_indexer_seed_ratio_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
seed_ratio: "Test".into(), seed_ratio: "Test".into(),
@@ -363,7 +363,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_home_end() { fn test_edit_indexer_tags_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
tags: "Test".into(), tags: "Test".into(),
@@ -430,7 +430,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS);
@@ -472,7 +472,7 @@ mod tests {
#[case] left_block: ActiveRadarrBlock, #[case] left_block: ActiveRadarrBlock,
#[case] right_block: ActiveRadarrBlock, #[case] right_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS);
@@ -525,7 +525,7 @@ mod tests {
#[case] left_block: ActiveRadarrBlock, #[case] left_block: ActiveRadarrBlock,
#[case] right_block: ActiveRadarrBlock, #[case] right_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_NZB_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_NZB_SELECTION_BLOCKS);
@@ -555,7 +555,7 @@ mod tests {
fn test_left_right_block_toggle_torren_empty_row_to_prompt_confirm( fn test_left_right_block_toggle_torren_empty_row_to_prompt_confirm(
#[values(Key::Left, Key::Right)] key: Key, #[values(Key::Left, Key::Right)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS);
@@ -585,7 +585,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_left_right_keys() { fn test_edit_indexer_name_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
name: "Test".into(), name: "Test".into(),
@@ -637,7 +637,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_left_right_keys() { fn test_edit_indexer_url_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
url: "Test".into(), url: "Test".into(),
@@ -689,7 +689,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_left_right_keys() { fn test_edit_indexer_api_key_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
api_key: "Test".into(), api_key: "Test".into(),
@@ -741,7 +741,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_left_right_keys() { fn test_edit_indexer_seed_ratio_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
seed_ratio: "Test".into(), seed_ratio: "Test".into(),
@@ -793,7 +793,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_left_right_keys() { fn test_edit_indexer_tags_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
tags: "Test".into(), tags: "Test".into(),
@@ -861,7 +861,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_decline_submit() { fn test_edit_indexer_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -889,7 +889,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_confirmation_submit() { fn test_edit_indexer_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -946,7 +946,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_edit_indexer_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into());
@@ -981,7 +981,7 @@ mod tests {
#[case] starting_x: usize, #[case] starting_x: usize,
#[case] block: ActiveRadarrBlock, #[case] block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into());
@@ -1007,7 +1007,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_priority_input_submit() { fn test_edit_indexer_priority_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into());
@@ -1032,7 +1032,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_toggle_enable_rss_submit() { fn test_edit_indexer_toggle_enable_rss_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -1085,7 +1085,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_toggle_enable_automatic_search_submit() { fn test_edit_indexer_toggle_enable_automatic_search_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -1138,7 +1138,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_toggle_enable_interactive_search_submit() { fn test_edit_indexer_toggle_enable_interactive_search_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -1191,7 +1191,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_submit() { fn test_edit_indexer_name_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1227,7 +1227,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_submit() { fn test_edit_indexer_url_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1263,7 +1263,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_submit() { fn test_edit_indexer_api_key_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1299,7 +1299,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_submit() { fn test_edit_indexer_seed_ratio_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1335,7 +1335,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_submit() { fn test_edit_indexer_tags_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1382,7 +1382,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_prompt_esc(#[values(true, false)] is_ready: bool) { fn test_edit_indexer_prompt_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into());
@@ -1413,7 +1413,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1442,7 +1442,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_backspace() { fn test_edit_indexer_name_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
name: "Test".into(), name: "Test".into(),
@@ -1472,7 +1472,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_backspace() { fn test_edit_indexer_url_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
url: "Test".into(), url: "Test".into(),
@@ -1502,7 +1502,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_backspace() { fn test_edit_indexer_api_key_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
api_key: "Test".into(), api_key: "Test".into(),
@@ -1532,7 +1532,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_backspace() { fn test_edit_indexer_seed_ratio_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
seed_ratio: "Test".into(), seed_ratio: "Test".into(),
@@ -1562,7 +1562,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_backspace() { fn test_edit_indexer_tags_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal {
tags: "Test".into(), tags: "Test".into(),
@@ -1592,7 +1592,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_char_key() { fn test_edit_indexer_name_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1619,7 +1619,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_char_key() { fn test_edit_indexer_url_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1646,7 +1646,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_char_key() { fn test_edit_indexer_api_key_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1673,7 +1673,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_char_key() { fn test_edit_indexer_seed_ratio_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1700,7 +1700,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_char_key() { fn test_edit_indexer_tags_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1727,7 +1727,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_confirmation_confirm() { fn test_edit_indexer_prompt_prompt_confirmation_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditIndexerPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -1795,7 +1795,7 @@ mod tests {
#[test] #[test]
fn test_build_edit_indexer_params() { fn test_build_edit_indexer_params() {
let mut app = App::default(); let mut app = App::test_default();
let edit_indexer_modal = EditIndexerModal { let edit_indexer_modal = EditIndexerModal {
name: "Test Update".into(), name: "Test Update".into(),
enable_rss: Some(false), enable_rss: Some(false),
@@ -1837,7 +1837,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_handler_is_not_ready_when_loading() { fn test_edit_indexer_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
@@ -1853,7 +1853,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_handler_is_not_ready_when_edit_indexer_modal_is_none() { fn test_edit_indexer_handler_is_not_ready_when_edit_indexer_modal_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
@@ -1869,7 +1869,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_handler_is_ready_when_edit_indexer_modal_is_some() { fn test_edit_indexer_handler_is_ready_when_edit_indexer_modal_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.radarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -26,7 +26,7 @@ mod tests {
macro_rules! test_i64_counter_scroll_value { macro_rules! test_i64_counter_scroll_value {
($block:expr, $key:expr, $data_ref:ident, $negatives:literal) => { ($block:expr, $key:expr, $data_ref:ident, $negatives:literal) => {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
IndexerSettingsHandler::new($key, &mut app, $block, None).handle(); IndexerSettingsHandler::new($key, &mut app, $block, None).handle();
@@ -97,7 +97,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_settings_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_indexer_settings_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS);
@@ -128,7 +128,7 @@ mod tests {
fn test_edit_indexer_settings_prompt_scroll_no_op_when_not_ready( fn test_edit_indexer_settings_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key, #[values(Key::Up, Key::Down)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -213,7 +213,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_whiteliested_subtitle_tags_input_home_end() { fn test_edit_indexer_settings_whiteliested_subtitle_tags_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings { app.data.radarr_data.indexer_settings = Some(IndexerSettings {
whitelisted_hardcoded_subs: "Test".into(), whitelisted_hardcoded_subs: "Test".into(),
..IndexerSettings::default() ..IndexerSettings::default()
@@ -276,7 +276,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS);
app.data.radarr_data.selected_block.y = INDEXER_SETTINGS_SELECTION_BLOCKS.len() - 1; app.data.radarr_data.selected_block.y = INDEXER_SETTINGS_SELECTION_BLOCKS.len() - 1;
@@ -329,7 +329,7 @@ mod tests {
#[case] left_block: ActiveRadarrBlock, #[case] left_block: ActiveRadarrBlock,
#[case] right_block: ActiveRadarrBlock, #[case] right_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS);
app.data.radarr_data.selected_block.y = starting_y_index; app.data.radarr_data.selected_block.y = starting_y_index;
@@ -368,7 +368,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_left_right_keys() { fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings { app.data.radarr_data.indexer_settings = Some(IndexerSettings {
whitelisted_hardcoded_subs: "Test".into(), whitelisted_hardcoded_subs: "Test".into(),
..IndexerSettings::default() ..IndexerSettings::default()
@@ -436,7 +436,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_decline_submit() { fn test_edit_indexer_settings_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -464,7 +464,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_confirmation_submit() { fn test_edit_indexer_settings_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -496,7 +496,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_edit_indexer_settings_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
@@ -529,7 +529,7 @@ mod tests {
#[case] y_index: usize, #[case] y_index: usize,
#[case] x_index: usize, #[case] x_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -555,7 +555,7 @@ mod tests {
fn test_edit_indexer_settings_prompt_submit_selected_block_no_op_when_not_ready( fn test_edit_indexer_settings_prompt_submit_selected_block_no_op_when_not_ready(
#[values((0, 0), (1, 0), (2, 0), (0, 1), (1, 1))] index: (usize, usize), #[values((0, 0), (1, 0), (2, 0), (0, 1), (1, 1))] index: (usize, usize),
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
@@ -583,7 +583,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_submit_whitelisted_subtitle_tags_input() { fn test_edit_indexer_settings_prompt_submit_whitelisted_subtitle_tags_input() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -607,7 +607,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_toggle_prefer_indexer_flags_submit() { fn test_edit_indexer_settings_toggle_prefer_indexer_flags_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS);
@@ -661,7 +661,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_toggle_allow_hardcoded_subs_submit() { fn test_edit_indexer_settings_toggle_allow_hardcoded_subs_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS);
@@ -715,7 +715,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_submit() { fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.indexer_settings = Some(IndexerSettings { app.data.radarr_data.indexer_settings = Some(IndexerSettings {
whitelisted_hardcoded_subs: "Test tags".into(), whitelisted_hardcoded_subs: "Test tags".into(),
@@ -761,7 +761,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -787,7 +787,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_settings_prompt_esc(#[values(true, false)] is_ready: bool) { fn test_edit_indexer_settings_prompt_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
@@ -808,7 +808,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_esc() { fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack( app.push_navigation_stack(
ActiveRadarrBlock::IndexerSettingsWhitelistedSubtitleTagsInput.into(), ActiveRadarrBlock::IndexerSettingsWhitelistedSubtitleTagsInput.into(),
@@ -844,7 +844,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
@@ -874,7 +874,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_backspace() { fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings { app.data.radarr_data.indexer_settings = Some(IndexerSettings {
whitelisted_hardcoded_subs: "Test".into(), whitelisted_hardcoded_subs: "Test".into(),
..IndexerSettings::default() ..IndexerSettings::default()
@@ -903,7 +903,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_char_key() { fn test_edit_indexer_settings_whitelisted_subtitle_tags_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
IndexerSettingsHandler::new( IndexerSettingsHandler::new(
@@ -929,7 +929,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_confirmation_confirm() { fn test_edit_indexer_settings_prompt_prompt_confirmation_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AllIndexerSettingsPrompt.into());
app.data.radarr_data.selected_block = app.data.radarr_data.selected_block =
@@ -972,7 +972,7 @@ mod tests {
#[test] #[test]
fn test_build_edit_indexer_settings_body() { fn test_build_edit_indexer_settings_body() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexer_settings = Some(indexer_settings()); app.data.radarr_data.indexer_settings = Some(indexer_settings());
let body = IndexerSettingsHandler::new( let body = IndexerSettingsHandler::new(
@@ -989,7 +989,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_handler_not_ready_when_loading() { fn test_edit_indexer_settings_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = IndexerSettingsHandler::new( let handler = IndexerSettingsHandler::new(
@@ -1004,7 +1004,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_handler_not_ready_when_indexer_settings_is_none() { fn test_edit_indexer_settings_handler_not_ready_when_indexer_settings_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = IndexerSettingsHandler::new( let handler = IndexerSettingsHandler::new(
@@ -1019,7 +1019,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_handler_ready_when_not_loading_and_indexer_settings_is_some() { fn test_edit_indexer_settings_handler_ready_when_not_loading_and_indexer_settings_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.radarr_data.indexer_settings = Some(IndexerSettings::default());
@@ -25,7 +25,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt() { fn test_delete_indexer_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -42,7 +42,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt_no_op_when_not_ready() { fn test_delete_indexer_prompt_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app app
@@ -65,7 +65,7 @@ mod tests {
#[rstest] #[rstest]
fn test_indexers_tab_left(#[values(true, false)] is_ready: bool) { fn test_indexers_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(5); app.data.radarr_data.main_tabs.set_index(5);
@@ -89,7 +89,7 @@ mod tests {
#[rstest] #[rstest]
fn test_indexers_tab_right(#[values(true, false)] is_ready: bool) { fn test_indexers_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(5); app.data.radarr_data.main_tabs.set_index(5);
@@ -112,7 +112,7 @@ mod tests {
fn test_left_right_delete_indexer_prompt_toggle( fn test_left_right_delete_indexer_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
IndexersHandler::new(key, &mut app, ActiveRadarrBlock::DeleteIndexerPrompt, None).handle(); IndexersHandler::new(key, &mut app, ActiveRadarrBlock::DeleteIndexerPrompt, None).handle();
@@ -142,7 +142,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_submit(#[values(true, false)] torrent_protocol: bool) { fn test_edit_indexer_submit(#[values(true, false)] torrent_protocol: bool) {
let mut app = App::default(); let mut app = App::test_default();
let protocol = if torrent_protocol { let protocol = if torrent_protocol {
"torrent".to_owned() "torrent".to_owned()
} else { } else {
@@ -223,7 +223,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_submit_no_op_when_not_ready() { fn test_edit_indexer_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app app
@@ -240,7 +240,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt_confirm_submit() { fn test_delete_indexer_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexers.set_items(vec![indexer()]); app.data.radarr_data.indexers.set_items(vec![indexer()]);
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
@@ -264,7 +264,7 @@ mod tests {
#[test] #[test]
fn test_prompt_decline_submit() { fn test_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -296,7 +296,7 @@ mod tests {
#[rstest] #[rstest]
fn test_delete_indexer_prompt_block_esc(#[values(true, false)] is_ready: bool) { fn test_delete_indexer_prompt_block_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::DeleteIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::DeleteIndexerPrompt.into());
@@ -316,7 +316,7 @@ mod tests {
#[rstest] #[rstest]
fn test_test_indexer_esc(#[values(true, false)] is_ready: bool) { fn test_test_indexer_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.indexer_test_errors = Some("test result".to_owned()); app.data.radarr_data.indexer_test_errors = Some("test result".to_owned());
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
@@ -330,7 +330,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
@@ -355,7 +355,7 @@ mod tests {
#[test] #[test]
fn test_refresh_indexers_key() { fn test_refresh_indexers_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -377,7 +377,7 @@ mod tests {
#[test] #[test]
fn test_refresh_indexers_key_no_op_when_not_ready() { fn test_refresh_indexers_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -400,7 +400,7 @@ mod tests {
#[test] #[test]
fn test_indexer_settings_key() { fn test_indexer_settings_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -427,7 +427,7 @@ mod tests {
#[test] #[test]
fn test_indexer_settings_key_no_op_when_not_ready() { fn test_indexer_settings_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app app
@@ -449,7 +449,7 @@ mod tests {
#[test] #[test]
fn test_test_key() { fn test_test_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -472,7 +472,7 @@ mod tests {
#[test] #[test]
fn test_test_key_no_op_when_not_ready() { fn test_test_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app app
@@ -494,7 +494,7 @@ mod tests {
#[test] #[test]
fn test_test_all_key() { fn test_test_all_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -517,7 +517,7 @@ mod tests {
#[test] #[test]
fn test_test_all_key_no_op_when_not_ready() { fn test_test_all_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app app
@@ -539,7 +539,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt_confirm() { fn test_delete_indexer_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexers.set_items(vec![indexer()]); app.data.radarr_data.indexers.set_items(vec![indexer()]);
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::DeleteIndexerPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::DeleteIndexerPrompt.into());
@@ -635,7 +635,7 @@ mod tests {
#[test] #[test]
fn test_extract_indexer_id() { fn test_extract_indexer_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.indexers.set_items(vec![indexer()]); app.data.radarr_data.indexers.set_items(vec![indexer()]);
let indexer_id = IndexersHandler::new( let indexer_id = IndexersHandler::new(
@@ -651,7 +651,7 @@ mod tests {
#[test] #[test]
fn test_indexers_handler_not_ready_when_loading() { fn test_indexers_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = IndexersHandler::new( let handler = IndexersHandler::new(
@@ -666,7 +666,7 @@ mod tests {
#[test] #[test]
fn test_indexers_handler_not_ready_when_indexers_is_empty() { fn test_indexers_handler_not_ready_when_indexers_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = IndexersHandler::new( let handler = IndexersHandler::new(
@@ -681,7 +681,7 @@ mod tests {
#[test] #[test]
fn test_indexers_handler_ready_when_not_loading_and_indexers_is_not_empty() { fn test_indexers_handler_ready_when_not_loading_and_indexers_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -17,7 +17,7 @@ mod tests {
#[rstest] #[rstest]
fn test_test_all_indexers_esc(#[values(true, false)] is_ready: bool) { fn test_test_all_indexers_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::Indexers.into()); app.push_navigation_stack(ActiveRadarrBlock::Indexers.into());
app.push_navigation_stack(ActiveRadarrBlock::TestAllIndexers.into()); app.push_navigation_stack(ActiveRadarrBlock::TestAllIndexers.into());
@@ -50,7 +50,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_not_ready_when_loading() { fn test_test_all_indexers_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = TestAllIndexersHandler::new( let handler = TestAllIndexersHandler::new(
@@ -65,7 +65,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_not_ready_when_results_is_none() { fn test_test_all_indexers_handler_is_not_ready_when_results_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = TestAllIndexersHandler::new( let handler = TestAllIndexersHandler::new(
@@ -80,7 +80,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_not_ready_when_results_is_empty() { fn test_test_all_indexers_handler_is_not_ready_when_results_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.indexer_test_all_results = Some(StatefulTable::default()); app.data.radarr_data.indexer_test_all_results = Some(StatefulTable::default());
@@ -96,7 +96,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_ready_when_results_is_not_empty_and_is_loaded() { fn test_test_all_indexers_handler_is_ready_when_results_is_not_empty_and_is_loaded() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let mut indexer_test_results = StatefulTable::default(); let mut indexer_test_results = StatefulTable::default();
indexer_test_results.set_items(vec![IndexerTestResultModalItem::default()]); indexer_test_results.set_items(vec![IndexerTestResultModalItem::default()]);
@@ -37,7 +37,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let monitor_vec = Vec::from_iter(MovieMonitor::iter()); let monitor_vec = Vec::from_iter(MovieMonitor::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -100,7 +100,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter()); let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -162,7 +162,7 @@ mod tests {
fn test_add_movie_select_quality_profile_scroll( fn test_add_movie_select_quality_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -218,7 +218,7 @@ mod tests {
fn test_add_movie_select_root_folder_scroll( fn test_add_movie_select_root_folder_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -274,7 +274,7 @@ mod tests {
#[rstest] #[rstest]
fn test_add_movie_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_add_movie_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.selected_block = BlockSelectionState::new(ADD_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(ADD_MOVIE_SELECTION_BLOCKS);
app.data.radarr_data.selected_block.down(); app.data.radarr_data.selected_block.down();
@@ -295,7 +295,7 @@ mod tests {
#[rstest] #[rstest]
fn test_add_movie_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) { fn test_add_movie_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.selected_block = BlockSelectionState::new(ADD_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(ADD_MOVIE_SELECTION_BLOCKS);
app.data.radarr_data.selected_block.down(); app.data.radarr_data.selected_block.down();
@@ -322,7 +322,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_select_monitor_home_end() { fn test_add_movie_select_monitor_home_end() {
let monitor_vec = Vec::from_iter(MovieMonitor::iter()); let monitor_vec = Vec::from_iter(MovieMonitor::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -377,7 +377,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_select_minimum_availability_home_end() { fn test_add_movie_select_minimum_availability_home_end() {
let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter()); let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -431,7 +431,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_select_quality_profile_home_end() { fn test_add_movie_select_quality_profile_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -489,7 +489,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_select_root_folder_home_end() { fn test_add_movie_select_root_folder_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app app
.data .data
@@ -545,7 +545,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_input_home_end_keys() { fn test_add_movie_search_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_search = Some("Test".into()); app.data.radarr_data.add_movie_search = Some("Test".into());
AddMovieHandler::new( AddMovieHandler::new(
@@ -591,7 +591,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_tags_input_home_end_keys() { fn test_add_movie_tags_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal { app.data.radarr_data.add_movie_modal = Some(AddMovieModal {
tags: "Test".into(), tags: "Test".into(),
..AddMovieModal::default() ..AddMovieModal::default()
@@ -651,7 +651,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
AddMovieHandler::new(key, &mut app, ActiveRadarrBlock::AddMoviePrompt, None).handle(); AddMovieHandler::new(key, &mut app, ActiveRadarrBlock::AddMoviePrompt, None).handle();
@@ -664,7 +664,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_input_left_right_keys() { fn test_add_movie_search_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_search = Some("Test".into()); app.data.radarr_data.add_movie_search = Some("Test".into());
AddMovieHandler::new( AddMovieHandler::new(
@@ -710,7 +710,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_tags_input_left_right_keys() { fn test_add_movie_tags_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal { app.data.radarr_data.add_movie_modal = Some(AddMovieModal {
tags: "Test".into(), tags: "Test".into(),
..AddMovieModal::default() ..AddMovieModal::default()
@@ -781,7 +781,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_input_submit() { fn test_add_movie_search_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.add_movie_search = Some("test".into()); app.data.radarr_data.add_movie_search = Some("test".into());
@@ -802,7 +802,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_input_submit_noop_on_empty_search() { fn test_add_movie_search_input_submit_noop_on_empty_search() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_search = Some(HorizontallyScrollableText::default()); app.data.radarr_data.add_movie_search = Some(HorizontallyScrollableText::default());
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchInput.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchInput.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
@@ -824,7 +824,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_results_submit() { fn test_add_movie_search_results_submit() {
let mut app = App::default(); let mut app = App::test_default();
let mut add_searched_movies = StatefulTable::default(); let mut add_searched_movies = StatefulTable::default();
add_searched_movies.set_items(vec![AddMovieSearchResult::default()]); add_searched_movies.set_items(vec![AddMovieSearchResult::default()]);
app.data.radarr_data.add_searched_movies = Some(add_searched_movies); app.data.radarr_data.add_searched_movies = Some(add_searched_movies);
@@ -890,7 +890,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_results_submit_no_op_when_not_ready() { fn test_add_movie_search_results_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into());
let mut add_searched_movies = StatefulTable::default(); let mut add_searched_movies = StatefulTable::default();
@@ -913,7 +913,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_results_submit_does_nothing_on_empty_table() { fn test_add_movie_search_results_submit_does_nothing_on_empty_table() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into());
AddMovieHandler::new( AddMovieHandler::new(
SUBMIT_KEY, SUBMIT_KEY,
@@ -931,7 +931,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_results_submit_movie_already_in_library() { fn test_add_movie_search_results_submit_movie_already_in_library() {
let mut app = App::default(); let mut app = App::test_default();
let mut add_searched_movies = StatefulTable::default(); let mut add_searched_movies = StatefulTable::default();
add_searched_movies.set_items(vec![AddMovieSearchResult::default()]); add_searched_movies.set_items(vec![AddMovieSearchResult::default()]);
app.data.radarr_data.add_searched_movies = Some(add_searched_movies); app.data.radarr_data.add_searched_movies = Some(add_searched_movies);
@@ -957,7 +957,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_prompt_prompt_decline_submit() { fn test_add_movie_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
app.data.radarr_data.selected_block = BlockSelectionState::new(ADD_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(ADD_MOVIE_SELECTION_BLOCKS);
@@ -983,7 +983,7 @@ mod tests {
fn test_add_movie_confirm_prompt_prompt_confirmation_submit( fn test_add_movie_confirm_prompt_prompt_confirmation_submit(
#[values(true, false)] movie_details_context: bool, #[values(true, false)] movie_details_context: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
@@ -1067,7 +1067,7 @@ mod tests {
#[case] selected_block: ActiveRadarrBlock, #[case] selected_block: ActiveRadarrBlock,
#[case] y_index: usize, #[case] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack( app.push_navigation_stack(
( (
ActiveRadarrBlock::AddMoviePrompt, ActiveRadarrBlock::AddMoviePrompt,
@@ -1108,7 +1108,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -1146,7 +1146,7 @@ mod tests {
#[rstest] #[rstest]
fn test_add_movie_search_input_esc(#[values(true, false)] is_ready: bool) { fn test_add_movie_search_input_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
@@ -1167,7 +1167,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_input_esc() { fn test_add_movie_input_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
@@ -1196,7 +1196,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchInput.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchInput.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
let mut add_searched_movies = StatefulTable::default(); let mut add_searched_movies = StatefulTable::default();
@@ -1218,7 +1218,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_already_in_library_esc() { fn test_add_movie_already_in_library_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into());
app.push_navigation_stack(ActiveRadarrBlock::AddMovieAlreadyInLibrary.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMovieAlreadyInLibrary.into());
@@ -1239,7 +1239,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_prompt_esc() { fn test_add_movie_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into());
@@ -1257,7 +1257,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_tags_input_esc() { fn test_add_movie_tags_input_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
@@ -1288,7 +1288,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack( app.push_navigation_stack(
( (
ActiveRadarrBlock::AddMoviePrompt, ActiveRadarrBlock::AddMoviePrompt,
@@ -1343,7 +1343,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_input_backspace() { fn test_add_movie_search_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_search = Some("Test".into()); app.data.radarr_data.add_movie_search = Some("Test".into());
AddMovieHandler::new( AddMovieHandler::new(
@@ -1362,7 +1362,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_tags_input_backspace() { fn test_add_movie_tags_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal { app.data.radarr_data.add_movie_modal = Some(AddMovieModal {
tags: "Test".into(), tags: "Test".into(),
..AddMovieModal::default() ..AddMovieModal::default()
@@ -1391,7 +1391,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_input_char_key() { fn test_add_movie_search_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_search = Some(HorizontallyScrollableText::default()); app.data.radarr_data.add_movie_search = Some(HorizontallyScrollableText::default());
AddMovieHandler::new( AddMovieHandler::new(
@@ -1410,7 +1410,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_tags_input_char_key() { fn test_add_movie_tags_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
AddMovieHandler::new( AddMovieHandler::new(
@@ -1438,7 +1438,7 @@ mod tests {
fn test_add_movie_confirm_prompt_prompt_confirmation_confirm( fn test_add_movie_confirm_prompt_prompt_confirmation_confirm(
#[values(true, false)] movie_details_context: bool, #[values(true, false)] movie_details_context: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default()); app.data.radarr_data.add_movie_modal = Some(AddMovieModal::default());
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AddMoviePrompt.into());
@@ -1525,7 +1525,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_search_no_panic_on_none_search_result() { fn test_add_movie_search_no_panic_on_none_search_result() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.add_searched_movies = None; app.data.radarr_data.add_searched_movies = None;
AddMovieHandler::new( AddMovieHandler::new(
@@ -1539,7 +1539,7 @@ mod tests {
#[rstest] #[rstest]
fn test_build_add_movie_body(#[values(true, false)] movie_details_context: bool) { fn test_build_add_movie_body(#[values(true, false)] movie_details_context: bool) {
let mut app = App::default(); let mut app = App::test_default();
let mut add_movie_modal = AddMovieModal { let mut add_movie_modal = AddMovieModal {
tags: "usenet, testing".into(), tags: "usenet, testing".into(),
..AddMovieModal::default() ..AddMovieModal::default()
@@ -1599,7 +1599,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_handler_is_not_ready_when_loading() { fn test_add_movie_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = AddMovieHandler::new( let handler = AddMovieHandler::new(
@@ -1614,7 +1614,7 @@ mod tests {
#[test] #[test]
fn test_add_movie_handler_is_ready_when_not_loading() { fn test_add_movie_handler_is_ready_when_not_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = AddMovieHandler::new( let handler = AddMovieHandler::new(
@@ -23,7 +23,7 @@ mod tests {
#[rstest] #[rstest]
fn test_delete_movie_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_delete_movie_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS);
app.data.radarr_data.selected_block.down(); app.data.radarr_data.selected_block.down();
@@ -46,7 +46,7 @@ mod tests {
fn test_delete_movie_prompt_scroll_no_op_when_not_ready( fn test_delete_movie_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key, #[values(Key::Up, Key::Down)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS);
app.data.radarr_data.selected_block.down(); app.data.radarr_data.selected_block.down();
@@ -67,7 +67,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
DeleteMovieHandler::new(key, &mut app, ActiveRadarrBlock::DeleteMoviePrompt, None).handle(); DeleteMovieHandler::new(key, &mut app, ActiveRadarrBlock::DeleteMoviePrompt, None).handle();
@@ -92,7 +92,7 @@ mod tests {
#[test] #[test]
fn test_delete_movie_prompt_prompt_decline_submit() { fn test_delete_movie_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into());
app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS);
@@ -121,7 +121,7 @@ mod tests {
#[test] #[test]
fn test_delete_movie_confirm_prompt_prompt_confirmation_submit() { fn test_delete_movie_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
let expected_delete_movie_params = DeleteMovieParams { let expected_delete_movie_params = DeleteMovieParams {
id: 1, id: 1,
delete_movie_files: true, delete_movie_files: true,
@@ -161,7 +161,7 @@ mod tests {
#[test] #[test]
fn test_delete_movie_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_delete_movie_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into());
@@ -191,7 +191,7 @@ mod tests {
#[test] #[test]
fn test_delete_movie_toggle_delete_files_submit() { fn test_delete_movie_toggle_delete_files_submit() {
let current_route = ActiveRadarrBlock::DeleteMoviePrompt.into(); let current_route = ActiveRadarrBlock::DeleteMoviePrompt.into();
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(DELETE_MOVIE_SELECTION_BLOCKS);
app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into());
@@ -228,7 +228,7 @@ mod tests {
#[rstest] #[rstest]
fn test_delete_movie_prompt_esc(#[values(true, false)] is_ready: bool) { fn test_delete_movie_prompt_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::DeleteMoviePrompt.into());
@@ -264,7 +264,7 @@ mod tests {
#[test] #[test]
fn test_delete_movie_confirm_prompt_prompt_confirm() { fn test_delete_movie_confirm_prompt_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
let expected_delete_movie_params = DeleteMovieParams { let expected_delete_movie_params = DeleteMovieParams {
id: 1, id: 1,
delete_movie_files: true, delete_movie_files: true,
@@ -315,7 +315,7 @@ mod tests {
#[test] #[test]
fn test_build_delete_movie_params() { fn test_build_delete_movie_params() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movies.set_items(vec![movie()]); app.data.radarr_data.movies.set_items(vec![movie()]);
app.data.radarr_data.delete_movie_files = true; app.data.radarr_data.delete_movie_files = true;
app.data.radarr_data.add_list_exclusion = true; app.data.radarr_data.add_list_exclusion = true;
@@ -340,7 +340,7 @@ mod tests {
#[test] #[test]
fn test_delete_movie_handler_not_ready_when_loading() { fn test_delete_movie_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = DeleteMovieHandler::new( let handler = DeleteMovieHandler::new(
@@ -355,7 +355,7 @@ mod tests {
#[test] #[test]
fn test_delete_movie_handler_ready_when_not_loading() { fn test_delete_movie_handler_ready_when_not_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = DeleteMovieHandler::new( let handler = DeleteMovieHandler::new(
@@ -30,7 +30,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter()); let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app app
.data .data
@@ -92,7 +92,7 @@ mod tests {
fn test_edit_movie_select_quality_profile_scroll( fn test_edit_movie_select_quality_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app app
.data .data
@@ -146,7 +146,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_movie_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_movie_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.data.radarr_data.selected_block = BlockSelectionState::new(EDIT_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(EDIT_MOVIE_SELECTION_BLOCKS);
app.data.radarr_data.selected_block.down(); app.data.radarr_data.selected_block.down();
@@ -168,7 +168,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_movie_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_movie_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.data.radarr_data.selected_block = BlockSelectionState::new(EDIT_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(EDIT_MOVIE_SELECTION_BLOCKS);
@@ -195,7 +195,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_select_minimum_availability_home_end() { fn test_edit_movie_select_minimum_availability_home_end() {
let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter()); let minimum_availability_vec = Vec::from_iter(MinimumAvailability::iter());
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app app
.data .data
@@ -249,7 +249,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_select_quality_profile_scroll() { fn test_edit_movie_select_quality_profile_scroll() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app app
.data .data
@@ -307,7 +307,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_path_input_home_end_keys() { fn test_edit_movie_path_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
path: "Test".into(), path: "Test".into(),
..EditMovieModal::default() ..EditMovieModal::default()
@@ -358,7 +358,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_tags_input_home_end_keys() { fn test_edit_movie_tags_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
tags: "Test".into(), tags: "Test".into(),
..EditMovieModal::default() ..EditMovieModal::default()
@@ -418,7 +418,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
EditMovieHandler::new(key, &mut app, ActiveRadarrBlock::EditMoviePrompt, None).handle(); EditMovieHandler::new(key, &mut app, ActiveRadarrBlock::EditMoviePrompt, None).handle();
@@ -431,7 +431,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_path_input_left_right_keys() { fn test_edit_movie_path_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
path: "Test".into(), path: "Test".into(),
..EditMovieModal::default() ..EditMovieModal::default()
@@ -482,7 +482,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_tags_input_left_right_keys() { fn test_edit_movie_tags_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
tags: "Test".into(), tags: "Test".into(),
..EditMovieModal::default() ..EditMovieModal::default()
@@ -547,7 +547,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_path_input_submit() { fn test_edit_movie_path_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
path: "Test Path".into(), path: "Test Path".into(),
@@ -582,7 +582,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_tags_input_submit() { fn test_edit_movie_tags_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
tags: "Test Tags".into(), tags: "Test Tags".into(),
@@ -617,7 +617,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_prompt_prompt_decline_submit() { fn test_edit_movie_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into());
@@ -642,7 +642,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_confirm_prompt_prompt_confirmation_submit() { fn test_edit_movie_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_movie = EditMovieModal { let mut edit_movie = EditMovieModal {
tags: "usenet, testing".to_owned().into(), tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(), path: "/nfs/Test Path".to_owned().into(),
@@ -700,7 +700,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_edit_movie_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
@@ -729,7 +729,7 @@ mod tests {
ActiveRadarrBlock::EditMoviePrompt, ActiveRadarrBlock::EditMoviePrompt,
Some(ActiveRadarrBlock::Movies), Some(ActiveRadarrBlock::Movies),
)); ));
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.data.radarr_data.selected_block = BlockSelectionState::new(EDIT_MOVIE_SELECTION_BLOCKS); app.data.radarr_data.selected_block = BlockSelectionState::new(EDIT_MOVIE_SELECTION_BLOCKS);
app.push_navigation_stack(current_route); app.push_navigation_stack(current_route);
@@ -784,7 +784,7 @@ mod tests {
#[case] selected_block: ActiveRadarrBlock, #[case] selected_block: ActiveRadarrBlock,
#[case] y_index: usize, #[case] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.push_navigation_stack( app.push_navigation_stack(
( (
@@ -821,7 +821,7 @@ mod tests {
fn test_edit_movie_prompt_selected_block_submit_no_op_when_not_ready( fn test_edit_movie_prompt_selected_block_submit_no_op_when_not_ready(
#[values(1, 2, 3, 4)] y_index: usize, #[values(1, 2, 3, 4)] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.push_navigation_stack( app.push_navigation_stack(
@@ -864,7 +864,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -909,7 +909,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into());
@@ -926,7 +926,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_prompt_esc() { fn test_edit_movie_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::EditMoviePrompt.into());
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
@@ -948,7 +948,7 @@ mod tests {
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -971,7 +971,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_path_input_backspace() { fn test_edit_movie_path_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
path: "Test".into(), path: "Test".into(),
..EditMovieModal::default() ..EditMovieModal::default()
@@ -1000,7 +1000,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_tags_input_backspace() { fn test_edit_movie_tags_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal { app.data.radarr_data.edit_movie_modal = Some(EditMovieModal {
tags: "Test".into(), tags: "Test".into(),
..EditMovieModal::default() ..EditMovieModal::default()
@@ -1029,7 +1029,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_path_input_char_key() { fn test_edit_movie_path_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
EditMovieHandler::new( EditMovieHandler::new(
@@ -1055,7 +1055,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_tags_input_char_key() { fn test_edit_movie_tags_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
EditMovieHandler::new( EditMovieHandler::new(
@@ -1081,7 +1081,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_confirm_prompt_prompt_confirm() { fn test_edit_movie_confirm_prompt_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_movie = EditMovieModal { let mut edit_movie = EditMovieModal {
tags: "usenet, testing".to_owned().into(), tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(), path: "/nfs/Test Path".to_owned().into(),
@@ -1150,7 +1150,7 @@ mod tests {
#[test] #[test]
fn test_build_edit_movie_params() { fn test_build_edit_movie_params() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_movie = EditMovieModal { let mut edit_movie = EditMovieModal {
tags: "usenet, testing".to_owned().into(), tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(), path: "/nfs/Test Path".to_owned().into(),
@@ -1194,7 +1194,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_handler_is_not_ready_when_loading() { fn test_edit_movie_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = EditMovieHandler::new( let handler = EditMovieHandler::new(
@@ -1209,7 +1209,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_handler_is_not_ready_when_edit_movie_modal_is_none() { fn test_edit_movie_handler_is_not_ready_when_edit_movie_modal_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = EditMovieHandler::new( let handler = EditMovieHandler::new(
@@ -1224,7 +1224,7 @@ mod tests {
#[test] #[test]
fn test_edit_movie_handler_is_ready_when_edit_movie_modal_is_some() { fn test_edit_movie_handler_is_ready_when_edit_movie_modal_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default()); app.data.radarr_data.edit_movie_modal = Some(EditMovieModal::default());
@@ -30,7 +30,7 @@ mod tests {
#[test] #[test]
fn test_movies_delete() { fn test_movies_delete() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -51,7 +51,7 @@ mod tests {
#[test] #[test]
fn test_movies_delete_no_op_when_not_ready() { fn test_movies_delete_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -74,7 +74,7 @@ mod tests {
#[rstest] #[rstest]
fn test_movie_tab_left(#[values(true, false)] is_ready: bool) { fn test_movie_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(0); app.data.radarr_data.main_tabs.set_index(0);
@@ -95,7 +95,7 @@ mod tests {
#[rstest] #[rstest]
fn test_movie_tab_right(#[values(true, false)] is_ready: bool) { fn test_movie_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(0); app.data.radarr_data.main_tabs.set_index(0);
@@ -121,7 +121,7 @@ mod tests {
fn test_left_right_update_all_movies_prompt_toggle( fn test_left_right_update_all_movies_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
LibraryHandler::new( LibraryHandler::new(
key, key,
@@ -156,7 +156,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_submit() { fn test_movie_details_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -173,7 +173,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_submit_no_op_when_not_ready() { fn test_movie_details_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -189,7 +189,7 @@ mod tests {
#[test] #[test]
fn test_update_all_movies_prompt_confirm_submit() { fn test_update_all_movies_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -217,7 +217,7 @@ mod tests {
#[test] #[test]
fn test_update_all_movies_prompt_decline_submit() { fn test_update_all_movies_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -253,7 +253,7 @@ mod tests {
#[test] #[test]
fn test_update_all_movies_prompt_blocks_esc() { fn test_update_all_movies_prompt_blocks_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::UpdateAllMoviesPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::UpdateAllMoviesPrompt.into());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
@@ -272,7 +272,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
@@ -312,7 +312,7 @@ mod tests {
#[test] #[test]
fn test_movie_add_key() { fn test_movie_add_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -337,7 +337,7 @@ mod tests {
#[test] #[test]
fn test_movie_add_key_no_op_when_not_ready() { fn test_movie_add_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -370,7 +370,7 @@ mod tests {
#[test] #[test]
fn test_movie_edit_key_no_op_when_not_ready() { fn test_movie_edit_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -393,7 +393,7 @@ mod tests {
#[test] #[test]
fn test_update_all_movies_key() { fn test_update_all_movies_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -416,7 +416,7 @@ mod tests {
#[test] #[test]
fn test_update_all_movies_key_no_op_when_not_ready() { fn test_update_all_movies_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -438,7 +438,7 @@ mod tests {
#[test] #[test]
fn test_refresh_movies_key() { fn test_refresh_movies_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -460,7 +460,7 @@ mod tests {
#[test] #[test]
fn test_refresh_movies_key_no_op_when_not_ready() { fn test_refresh_movies_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -483,7 +483,7 @@ mod tests {
#[test] #[test]
fn test_update_all_movies_prompt_confirm() { fn test_update_all_movies_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -779,7 +779,7 @@ mod tests {
#[test] #[test]
fn test_library_handler_not_ready_when_loading() { fn test_library_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = LibraryHandler::new( let handler = LibraryHandler::new(
@@ -794,7 +794,7 @@ mod tests {
#[test] #[test]
fn test_library_handler_not_ready_when_movies_is_empty() { fn test_library_handler_not_ready_when_movies_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = LibraryHandler::new( let handler = LibraryHandler::new(
@@ -809,7 +809,7 @@ mod tests {
#[test] #[test]
fn test_library_handler_ready_when_not_loading_and_movies_is_not_empty() { fn test_library_handler_ready_when_not_loading_and_movies_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -31,7 +31,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_scroll() { fn test_movie_details_scroll() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()), movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -80,7 +80,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_scroll_no_op_if_not_ready() { fn test_movie_details_scroll_no_op_if_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()), movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()),
@@ -137,7 +137,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_home_end() { fn test_movie_details_home_end() {
let mut app = App::default(); let mut app = App::test_default();
let movie_details_modal = MovieDetailsModal { let movie_details_modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()), movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -187,7 +187,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_home_end_no_op_when_not_ready() { fn test_movie_details_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let movie_details_modal = MovieDetailsModal { let movie_details_modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()), movie_details: ScrollableText::with_string("Test 1\nTest 2".to_owned()),
@@ -253,7 +253,7 @@ mod tests {
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
#[values(Key::Left, Key::Right)] key: Key, #[values(Key::Left, Key::Right)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
MovieDetailsHandler::new(key, &mut app, active_radarr_block, None).handle(); MovieDetailsHandler::new(key, &mut app, active_radarr_block, None).handle();
@@ -276,7 +276,7 @@ mod tests {
#[case] right_block: ActiveRadarrBlock, #[case] right_block: ActiveRadarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(right_block.into()); app.push_navigation_stack(right_block.into());
app.data.radarr_data.movie_info_tabs.index = app app.data.radarr_data.movie_info_tabs.index = app
@@ -319,7 +319,7 @@ mod tests {
#[test] #[test]
fn test_manual_search_submit() { fn test_manual_search_submit() {
let mut app = App::default(); let mut app = App::test_default();
let mut modal = MovieDetailsModal { let mut modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("test".to_owned()), movie_details: ScrollableText::with_string("test".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -341,7 +341,7 @@ mod tests {
#[test] #[test]
fn test_manual_search_submit_no_op_when_not_ready() { fn test_manual_search_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
movie_details: ScrollableText::with_string("test".to_owned()), movie_details: ScrollableText::with_string("test".to_owned()),
@@ -376,7 +376,7 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
#[case] expected_action: RadarrEvent, #[case] expected_action: RadarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut movie_details_modal = MovieDetailsModal { let mut movie_details_modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("test".to_owned()), movie_details: ScrollableText::with_string("test".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -412,7 +412,7 @@ mod tests {
)] )]
prompt_block: ActiveRadarrBlock, prompt_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
movie_details: ScrollableText::with_string("test".to_owned()), movie_details: ScrollableText::with_string("test".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -455,7 +455,7 @@ mod tests {
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
@@ -477,7 +477,7 @@ mod tests {
prompt_block: ActiveRadarrBlock, prompt_block: ActiveRadarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
@@ -521,7 +521,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut modal = MovieDetailsModal { let mut modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("Test".to_owned()), movie_details: ScrollableText::with_string("Test".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -562,7 +562,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
@@ -612,7 +612,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
@@ -644,7 +644,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut modal = MovieDetailsModal { let mut modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("Test".to_owned()), movie_details: ScrollableText::with_string("Test".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -685,7 +685,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
@@ -716,7 +716,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut modal = MovieDetailsModal { let mut modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("Test".to_owned()), movie_details: ScrollableText::with_string("Test".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -755,7 +755,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
app.is_routing = false; app.is_routing = false;
@@ -794,7 +794,7 @@ mod tests {
#[case] prompt_block: ActiveRadarrBlock, #[case] prompt_block: ActiveRadarrBlock,
#[case] expected_action: RadarrEvent, #[case] expected_action: RadarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut movie_details_modal = MovieDetailsModal { let mut movie_details_modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("test".to_owned()), movie_details: ScrollableText::with_string("test".to_owned()),
..MovieDetailsModal::default() ..MovieDetailsModal::default()
@@ -830,7 +830,7 @@ mod tests {
#[test] #[test]
fn test_build_radarr_release_download_body() { fn test_build_radarr_release_download_body() {
let mut app = App::default(); let mut app = App::test_default();
let mut movie_details_modal = MovieDetailsModal::default(); let mut movie_details_modal = MovieDetailsModal::default();
movie_details_modal movie_details_modal
.movie_releases .movie_releases
@@ -856,7 +856,7 @@ mod tests {
#[test] #[test]
fn test_extract_movie_id() { fn test_extract_movie_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movies.set_items(vec![movie()]); app.data.radarr_data.movies.set_items(vec![movie()]);
let movie_id = MovieDetailsHandler::new( let movie_id = MovieDetailsHandler::new(
@@ -1055,7 +1055,7 @@ mod tests {
)] )]
movie_details_block: ActiveRadarrBlock, movie_details_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let mut modal = MovieDetailsModal { let mut modal = MovieDetailsModal {
movie_details: ScrollableText::with_string("Test".to_owned()), movie_details: ScrollableText::with_string("Test".to_owned()),
@@ -1083,7 +1083,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_handler_is_not_ready_when_no_movie_details_are_in_modal() { fn test_movie_details_handler_is_not_ready_when_no_movie_details_are_in_modal() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal::default()); app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal::default());
@@ -1099,7 +1099,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_handler_is_ready_when_movie_details_are_in_modal() { fn test_movie_details_handler_is_ready_when_movie_details_are_in_modal() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal { app.data.radarr_data.movie_details_modal = Some(MovieDetailsModal {
movie_details: ScrollableText::with_string("Test".to_owned()), movie_details: ScrollableText::with_string("Test".to_owned()),
@@ -1118,7 +1118,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_handler_is_ready_when_movie_history_is_in_modal() { fn test_movie_details_handler_is_ready_when_movie_history_is_in_modal() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let mut modal = MovieDetailsModal::default(); let mut modal = MovieDetailsModal::default();
modal modal
@@ -1138,7 +1138,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_handler_is_ready_when_movie_cast_is_in_modal() { fn test_movie_details_handler_is_ready_when_movie_cast_is_in_modal() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let mut modal = MovieDetailsModal::default(); let mut modal = MovieDetailsModal::default();
modal.movie_cast.set_items(vec![Credit::default()]); modal.movie_cast.set_items(vec![Credit::default()]);
@@ -1156,7 +1156,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_handler_is_ready_when_movie_crew_is_in_modal() { fn test_movie_details_handler_is_ready_when_movie_crew_is_in_modal() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let mut modal = MovieDetailsModal::default(); let mut modal = MovieDetailsModal::default();
modal.movie_crew.set_items(vec![Credit::default()]); modal.movie_crew.set_items(vec![Credit::default()]);
@@ -1174,7 +1174,7 @@ mod tests {
#[test] #[test]
fn test_movie_details_handler_is_ready_when_movie_releases_is_in_modal() { fn test_movie_details_handler_is_ready_when_movie_releases_is_in_modal() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let mut modal = MovieDetailsModal::default(); let mut modal = MovieDetailsModal::default();
modal modal
@@ -16,7 +16,7 @@ pub(in crate::handlers::radarr_handlers) mod utils {
#[macro_export] #[macro_export]
macro_rules! test_edit_movie_key { macro_rules! test_edit_movie_key {
($handler:ident, $block:expr, $context:expr) => { ($handler:ident, $block:expr, $context:expr) => {
let mut app = App::default(); let mut app = App::test_default();
let mut radarr_data = RadarrData { let mut radarr_data = RadarrData {
quality_profile_map: BiMap::from_iter([ quality_profile_map: BiMap::from_iter([
(2222, "HD - 1080p".to_owned()), (2222, "HD - 1080p".to_owned()),
@@ -131,7 +131,7 @@ pub(in crate::handlers::radarr_handlers) mod utils {
#[macro_export] #[macro_export]
macro_rules! test_edit_collection_key { macro_rules! test_edit_collection_key {
($handler:ident, $block:expr, $context:expr) => { ($handler:ident, $block:expr, $context:expr) => {
let mut app = App::default(); let mut app = App::test_default();
let mut radarr_data = RadarrData { let mut radarr_data = RadarrData {
quality_profile_map: BiMap::from_iter([ quality_profile_map: BiMap::from_iter([
(2222, "HD - 1080p".to_owned()), (2222, "HD - 1080p".to_owned()),
@@ -24,7 +24,7 @@ mod tests {
#[case] left_block: ActiveRadarrBlock, #[case] left_block: ActiveRadarrBlock,
#[case] right_block: ActiveRadarrBlock, #[case] right_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.main_tabs.set_index(index); app.data.radarr_data.main_tabs.set_index(index);
handle_change_tab_left_right_keys(&mut app, DEFAULT_KEYBINDINGS.left.key); handle_change_tab_left_right_keys(&mut app, DEFAULT_KEYBINDINGS.left.key);
@@ -219,7 +219,7 @@ mod tests {
#[test] #[test]
fn test_radarr_handler_is_ready() { fn test_radarr_handler_is_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = RadarrHandler::new( let handler = RadarrHandler::new(
@@ -22,7 +22,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_home_end_keys() { fn test_add_root_folder_prompt_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -81,7 +81,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt() { fn test_delete_root_folder_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -98,7 +98,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_no_op_when_not_ready() { fn test_delete_root_folder_prompt_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
app app
@@ -126,7 +126,7 @@ mod tests {
#[rstest] #[rstest]
fn test_root_folders_tab_left(#[values(true, false)] is_ready: bool) { fn test_root_folders_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(4); app.data.radarr_data.main_tabs.set_index(4);
@@ -147,7 +147,7 @@ mod tests {
#[rstest] #[rstest]
fn test_root_folders_tab_right(#[values(true, false)] is_ready: bool) { fn test_root_folders_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(4); app.data.radarr_data.main_tabs.set_index(4);
@@ -170,7 +170,7 @@ mod tests {
fn test_left_right_delete_root_folder_prompt_toggle( fn test_left_right_delete_root_folder_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
RootFoldersHandler::new( RootFoldersHandler::new(
key, key,
@@ -195,7 +195,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_left_right_keys() { fn test_add_root_folder_prompt_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_root_folder = Some("Test".into()); app.data.radarr_data.edit_root_folder = Some("Test".into());
RootFoldersHandler::new( RootFoldersHandler::new(
@@ -251,7 +251,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_confirm_submit() { fn test_add_root_folder_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
let expected_add_root_folder_body = AddRootFolderBody { let expected_add_root_folder_body = AddRootFolderBody {
path: "Test".to_owned(), path: "Test".to_owned(),
}; };
@@ -288,7 +288,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_confirm_submit_noop_on_empty_folder() { fn test_add_root_folder_prompt_confirm_submit_noop_on_empty_folder() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_root_folder = Some(HorizontallyScrollableText::default()); app.data.radarr_data.edit_root_folder = Some(HorizontallyScrollableText::default());
app.data.radarr_data.prompt_confirm = false; app.data.radarr_data.prompt_confirm = false;
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
@@ -314,7 +314,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_confirm_submit() { fn test_delete_root_folder_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -345,7 +345,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_decline_submit() { fn test_delete_root_folder_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -380,7 +380,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_block_esc() { fn test_delete_root_folder_prompt_block_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
app.push_navigation_stack(ActiveRadarrBlock::DeleteRootFolderPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::DeleteRootFolderPrompt.into());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
@@ -402,7 +402,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_esc() { fn test_add_root_folder_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
app.push_navigation_stack(ActiveRadarrBlock::AddRootFolderPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::AddRootFolderPrompt.into());
app.data.radarr_data.edit_root_folder = Some("/nfs/test".into()); app.data.radarr_data.edit_root_folder = Some("/nfs/test".into());
@@ -428,7 +428,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
@@ -453,7 +453,7 @@ mod tests {
#[test] #[test]
fn test_root_folder_add() { fn test_root_folder_add() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -478,7 +478,7 @@ mod tests {
#[test] #[test]
fn test_root_folder_add_no_op_when_not_ready() { fn test_root_folder_add_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveRadarrBlock::RootFolders.into());
app app
@@ -505,7 +505,7 @@ mod tests {
#[test] #[test]
fn test_refresh_root_folders_key() { fn test_refresh_root_folders_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -530,7 +530,7 @@ mod tests {
#[test] #[test]
fn test_refresh_root_folders_key_no_op_when_not_ready() { fn test_refresh_root_folders_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -556,7 +556,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_backspace_key() { fn test_add_root_folder_prompt_backspace_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -580,7 +580,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_char_key() { fn test_add_root_folder_prompt_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -604,7 +604,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_confirm() { fn test_delete_root_folder_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -646,7 +646,7 @@ mod tests {
#[test] #[test]
fn test_build_add_root_folder_body() { fn test_build_add_root_folder_body() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.edit_root_folder = Some("/nfs/test".into()); app.data.radarr_data.edit_root_folder = Some("/nfs/test".into());
let expected_add_root_folder_body = AddRootFolderBody { let expected_add_root_folder_body = AddRootFolderBody {
path: "/nfs/test".to_owned(), path: "/nfs/test".to_owned(),
@@ -666,7 +666,7 @@ mod tests {
#[test] #[test]
fn test_extract_root_folder_id() { fn test_extract_root_folder_id() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -686,7 +686,7 @@ mod tests {
#[test] #[test]
fn test_root_folders_handler_not_ready_when_loading() { fn test_root_folders_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = RootFoldersHandler::new( let handler = RootFoldersHandler::new(
@@ -701,7 +701,7 @@ mod tests {
#[test] #[test]
fn test_root_folders_handler_not_ready_when_root_folders_is_empty() { fn test_root_folders_handler_not_ready_when_root_folders_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = RootFoldersHandler::new( let handler = RootFoldersHandler::new(
@@ -716,7 +716,7 @@ mod tests {
#[test] #[test]
fn test_root_folders_handler_ready_when_not_loading_and_root_folders_is_not_empty() { fn test_root_folders_handler_ready_when_not_loading_and_root_folders_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
@@ -39,7 +39,7 @@ mod tests {
fn test_log_details_scroll_no_op_when_not_ready( fn test_log_details_scroll_no_op_when_not_ready(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -70,7 +70,7 @@ mod tests {
fn test_tasks_scroll( fn test_tasks_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
app app
.data .data
@@ -97,7 +97,7 @@ mod tests {
fn test_tasks_scroll_no_op_when_not_ready( fn test_tasks_scroll_no_op_when_not_ready(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
app app
@@ -125,7 +125,7 @@ mod tests {
fn test_queued_events_scroll( fn test_queued_events_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
app app
.data .data
@@ -154,7 +154,7 @@ mod tests {
fn test_queued_events_scroll_no_op_when_not_ready( fn test_queued_events_scroll_no_op_when_not_ready(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
app app
@@ -182,7 +182,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_scroll() { fn test_system_updates_scroll() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
SystemDetailsHandler::new( SystemDetailsHandler::new(
@@ -208,7 +208,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_scroll_no_op_when_not_ready() { fn test_system_updates_scroll_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -254,7 +254,7 @@ mod tests {
#[test] #[test]
fn test_log_details_home_end_no_op_when_not_ready() { fn test_log_details_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -295,7 +295,7 @@ mod tests {
#[test] #[test]
fn test_tasks_home_end() { fn test_tasks_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = app.data.radarr_data.updates =
ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned()); ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned());
app app
@@ -333,7 +333,7 @@ mod tests {
#[test] #[test]
fn test_tasks_home_end_no_op_when_not_ready() { fn test_tasks_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.updates = app.data.radarr_data.updates =
ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned()); ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned());
@@ -372,7 +372,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_home_end() { fn test_queued_events_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = app.data.radarr_data.updates =
ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned()); ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned());
app app
@@ -410,7 +410,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_home_end_no_op_when_not_ready() { fn test_queued_events_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.updates = app.data.radarr_data.updates =
ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned()); ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned());
@@ -449,7 +449,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_home_end() { fn test_system_updates_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
SystemDetailsHandler::new( SystemDetailsHandler::new(
@@ -475,7 +475,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_home_end_no_op_when_not_ready() { fn test_system_updates_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -510,7 +510,7 @@ mod tests {
#[test] #[test]
fn test_handle_log_details_left_right() { fn test_handle_log_details_left_right() {
let active_radarr_block = ActiveRadarrBlock::SystemLogs; let active_radarr_block = ActiveRadarrBlock::SystemLogs;
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -610,7 +610,7 @@ mod tests {
fn test_left_right_prompt_toggle( fn test_left_right_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
SystemDetailsHandler::new( SystemDetailsHandler::new(
key, key,
@@ -645,7 +645,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_submit() { fn test_system_tasks_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
SystemDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::SystemTasks, None) SystemDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveRadarrBlock::SystemTasks, None)
@@ -659,7 +659,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_submit_no_op_when_not_ready() { fn test_system_tasks_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into());
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
@@ -675,7 +675,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_confirm_submit() { fn test_system_tasks_start_task_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
app.data.radarr_data.tasks.set_items(vec![RadarrTask { app.data.radarr_data.tasks.set_items(vec![RadarrTask {
@@ -706,7 +706,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_decline_submit() { fn test_system_tasks_start_task_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into());
app.push_navigation_stack(ActiveRadarrBlock::SystemTaskStartConfirmPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemTaskStartConfirmPrompt.into());
@@ -739,7 +739,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_logs(#[values(true, false)] is_ready: bool) { fn test_esc_system_logs(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app app
.data .data
@@ -762,7 +762,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_tasks(#[values(true, false)] is_ready: bool) { fn test_esc_system_tasks(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into());
@@ -779,7 +779,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_queued_events(#[values(true, false)] is_ready: bool) { fn test_esc_system_queued_events(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.push_navigation_stack(ActiveRadarrBlock::SystemQueuedEvents.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemQueuedEvents.into());
@@ -802,7 +802,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_updates(#[values(true, false)] is_ready: bool) { fn test_esc_system_updates(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.push_navigation_stack(ActiveRadarrBlock::SystemUpdates.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemUpdates.into());
@@ -814,7 +814,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_esc() { fn test_system_tasks_start_task_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemTasks.into());
app.push_navigation_stack(ActiveRadarrBlock::SystemTaskStartConfirmPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::SystemTaskStartConfirmPrompt.into());
app.data.radarr_data.prompt_confirm = true; app.data.radarr_data.prompt_confirm = true;
@@ -853,7 +853,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -879,7 +879,7 @@ mod tests {
)] )]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -898,7 +898,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_confirm() { fn test_system_tasks_start_task_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.data.radarr_data.tasks.set_items(vec![RadarrTask { app.data.radarr_data.tasks.set_items(vec![RadarrTask {
task_name: RadarrTaskName::default(), task_name: RadarrTaskName::default(),
@@ -940,7 +940,7 @@ mod tests {
#[test] #[test]
fn test_extract_task_name() { fn test_extract_task_name() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.tasks.set_items(vec![RadarrTask { app.data.radarr_data.tasks.set_items(vec![RadarrTask {
task_name: RadarrTaskName::default(), task_name: RadarrTaskName::default(),
..RadarrTask::default() ..RadarrTask::default()
@@ -959,7 +959,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_not_ready_when_loading() { fn test_system_details_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = SystemDetailsHandler::new( let handler = SystemDetailsHandler::new(
@@ -974,7 +974,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_not_ready_when_log_details_and_updates_and_tasks_are_empty() { fn test_system_details_handler_not_ready_when_log_details_and_updates_and_tasks_are_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = SystemDetailsHandler::new( let handler = SystemDetailsHandler::new(
@@ -989,7 +989,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_ready_when_not_loading_and_log_details_is_not_empty() { fn test_system_details_handler_ready_when_not_loading_and_log_details_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -1009,7 +1009,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_ready_when_not_loading_and_tasks_is_not_empty() { fn test_system_details_handler_ready_when_not_loading_and_tasks_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -1029,7 +1029,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_ready_when_not_loading_and_updates_is_not_empty() { fn test_system_details_handler_ready_when_not_loading_and_updates_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.radarr_data.updates = ScrollableText::with_string("Test".to_owned());
@@ -22,7 +22,7 @@ mod tests {
#[rstest] #[rstest]
fn test_system_tab_left(#[values(true, false)] is_ready: bool) { fn test_system_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(6); app.data.radarr_data.main_tabs.set_index(6);
@@ -43,7 +43,7 @@ mod tests {
#[rstest] #[rstest]
fn test_system_tab_right(#[values(true, false)] is_ready: bool) { fn test_system_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.radarr_data.main_tabs.set_index(6); app.data.radarr_data.main_tabs.set_index(6);
@@ -72,7 +72,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_loading: bool) { fn test_default_esc(#[values(true, false)] is_loading: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_loading; app.is_loading = is_loading;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
@@ -94,7 +94,7 @@ mod tests {
#[test] #[test]
fn test_update_system_key() { fn test_update_system_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
HorizontallyScrollableText::from("test 2"), HorizontallyScrollableText::from("test 2"),
@@ -126,7 +126,7 @@ mod tests {
#[test] #[test]
fn test_update_system_key_no_op_if_not_ready() { fn test_update_system_key_no_op_if_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
@@ -157,7 +157,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_key() { fn test_queued_events_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
HorizontallyScrollableText::from("test 2"), HorizontallyScrollableText::from("test 2"),
@@ -189,7 +189,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_key_no_op_if_not_ready() { fn test_queued_events_key_no_op_if_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
@@ -220,7 +220,7 @@ mod tests {
#[test] #[test]
fn test_refresh_system_key() { fn test_refresh_system_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
HorizontallyScrollableText::from("test 2"), HorizontallyScrollableText::from("test 2"),
@@ -251,7 +251,7 @@ mod tests {
#[test] #[test]
fn test_refresh_system_key_no_op_if_not_ready() { fn test_refresh_system_key_no_op_if_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
@@ -284,7 +284,7 @@ mod tests {
#[test] #[test]
fn test_logs_key() { fn test_logs_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
HorizontallyScrollableText::from("test 2"), HorizontallyScrollableText::from("test 2"),
@@ -324,7 +324,7 @@ mod tests {
#[test] #[test]
fn test_logs_key_no_op_when_not_ready() { fn test_logs_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
@@ -356,7 +356,7 @@ mod tests {
#[test] #[test]
fn test_tasks_key() { fn test_tasks_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
HorizontallyScrollableText::from("test 2"), HorizontallyScrollableText::from("test 2"),
@@ -388,7 +388,7 @@ mod tests {
#[test] #[test]
fn test_tasks_key_no_op_when_not_ready() { fn test_tasks_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::System.into()); app.push_navigation_stack(ActiveRadarrBlock::System.into());
app.data.radarr_data.logs.set_items(vec![ app.data.radarr_data.logs.set_items(vec![
@@ -452,7 +452,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_loading() { fn test_system_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let system_handler = SystemHandler::new( let system_handler = SystemHandler::new(
@@ -467,7 +467,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_logs_is_empty() { fn test_system_handler_is_not_ready_when_logs_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -492,7 +492,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_tasks_is_empty() { fn test_system_handler_is_not_ready_when_tasks_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.logs.set_items(vec!["test".into()]); app.data.radarr_data.logs.set_items(vec!["test".into()]);
app app
@@ -513,7 +513,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_queued_events_is_empty() { fn test_system_handler_is_not_ready_when_queued_events_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.logs.set_items(vec!["test".into()]); app.data.radarr_data.logs.set_items(vec!["test".into()]);
app app
@@ -534,7 +534,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_ready_when_all_required_tables_are_not_empty() { fn test_system_handler_is_ready_when_all_required_tables_are_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app.data.radarr_data.logs.set_items(vec!["test".into()]); app.data.radarr_data.logs.set_items(vec!["test".into()]);
app app
@@ -24,7 +24,7 @@ mod tests {
#[test] #[test]
fn test_delete_blocklist_item_prompt() { fn test_delete_blocklist_item_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
@@ -38,7 +38,7 @@ mod tests {
#[test] #[test]
fn test_delete_blocklist_item_no_op_when_not_ready() { fn test_delete_blocklist_item_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
@@ -57,7 +57,7 @@ mod tests {
#[rstest] #[rstest]
fn test_blocklist_tab_left(#[values(true, false)] is_ready: bool) { fn test_blocklist_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(2); app.data.sonarr_data.main_tabs.set_index(2);
@@ -79,7 +79,7 @@ mod tests {
#[rstest] #[rstest]
fn test_blocklist_tab_right(#[values(true, false)] is_ready: bool) { fn test_blocklist_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(2); app.data.sonarr_data.main_tabs.set_index(2);
@@ -108,7 +108,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
BlocklistHandler::new(key, &mut app, active_sonarr_block, None).handle(); BlocklistHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -133,7 +133,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_submit() { fn test_blocklist_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
@@ -147,7 +147,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_submit_no_op_when_not_ready() { fn test_blocklist_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
@@ -173,7 +173,7 @@ mod tests {
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
#[case] expected_action: SonarrEvent, #[case] expected_action: SonarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(base_route.into()); app.push_navigation_stack(base_route.into());
@@ -197,7 +197,7 @@ mod tests {
)] )]
prompt_block: ActiveSonarrBlock, prompt_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
@@ -231,7 +231,7 @@ mod tests {
#[case] base_block: ActiveSonarrBlock, #[case] base_block: ActiveSonarrBlock,
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(base_block.into()); app.push_navigation_stack(base_block.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -244,7 +244,7 @@ mod tests {
#[test] #[test]
fn test_esc_blocklist_item_details() { fn test_esc_blocklist_item_details() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.push_navigation_stack(ActiveSonarrBlock::BlocklistItemDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::BlocklistItemDetails.into());
@@ -261,7 +261,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
@@ -284,7 +284,7 @@ mod tests {
#[test] #[test]
fn test_refresh_blocklist_key() { fn test_refresh_blocklist_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
@@ -302,7 +302,7 @@ mod tests {
#[test] #[test]
fn test_refresh_blocklist_key_no_op_when_not_ready() { fn test_refresh_blocklist_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
@@ -321,7 +321,7 @@ mod tests {
#[test] #[test]
fn test_clear_blocklist_key() { fn test_clear_blocklist_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
@@ -341,7 +341,7 @@ mod tests {
#[test] #[test]
fn test_clear_blocklist_key_no_op_when_not_ready() { fn test_clear_blocklist_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
@@ -373,7 +373,7 @@ mod tests {
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
#[case] expected_action: SonarrEvent, #[case] expected_action: SonarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
app.push_navigation_stack(base_route.into()); app.push_navigation_stack(base_route.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
@@ -515,7 +515,7 @@ mod tests {
#[test] #[test]
fn test_extract_blocklist_item_id() { fn test_extract_blocklist_item_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.blocklist.set_items(blocklist_vec()); app.data.sonarr_data.blocklist.set_items(blocklist_vec());
let blocklist_item_id = BlocklistHandler::new( let blocklist_item_id = BlocklistHandler::new(
@@ -531,7 +531,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_handler_not_ready_when_loading() { fn test_blocklist_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.is_loading = true; app.is_loading = true;
@@ -547,7 +547,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_handler_not_ready_when_blocklist_is_empty() { fn test_blocklist_handler_not_ready_when_blocklist_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.is_loading = false; app.is_loading = false;
@@ -563,7 +563,7 @@ mod tests {
#[test] #[test]
fn test_blocklist_handler_ready_when_not_loading_and_blocklist_is_not_empty() { fn test_blocklist_handler_ready_when_not_loading_and_blocklist_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into()); app.push_navigation_stack(ActiveSonarrBlock::Blocklist.into());
app.is_loading = false; app.is_loading = false;
app app
@@ -21,7 +21,7 @@ mod tests {
#[test] #[test]
fn test_delete_download_prompt() { fn test_delete_download_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app app
.data .data
@@ -39,7 +39,7 @@ mod tests {
#[test] #[test]
fn test_delete_download_prompt_no_op_when_not_ready() { fn test_delete_download_prompt_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app app
@@ -62,7 +62,7 @@ mod tests {
#[rstest] #[rstest]
fn test_downloads_tab_left(#[values(true, false)] is_ready: bool) { fn test_downloads_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(1); app.data.sonarr_data.main_tabs.set_index(1);
@@ -84,7 +84,7 @@ mod tests {
#[rstest] #[rstest]
fn test_downloads_tab_right(#[values(true, false)] is_ready: bool) { fn test_downloads_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(1); app.data.sonarr_data.main_tabs.set_index(1);
@@ -113,7 +113,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
DownloadsHandler::new(key, &mut app, active_sonarr_block, None).handle(); DownloadsHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -152,7 +152,7 @@ mod tests {
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
#[case] expected_action: SonarrEvent, #[case] expected_action: SonarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -179,7 +179,7 @@ mod tests {
#[case] base_route: ActiveSonarrBlock, #[case] base_route: ActiveSonarrBlock,
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -211,7 +211,7 @@ mod tests {
#[case] base_block: ActiveSonarrBlock, #[case] base_block: ActiveSonarrBlock,
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(base_block.into()); app.push_navigation_stack(base_block.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -224,7 +224,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
@@ -247,7 +247,7 @@ mod tests {
#[test] #[test]
fn test_update_downloads_key() { fn test_update_downloads_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app app
.data .data
@@ -271,7 +271,7 @@ mod tests {
#[test] #[test]
fn test_update_downloads_key_no_op_when_not_ready() { fn test_update_downloads_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app app
@@ -293,7 +293,7 @@ mod tests {
#[test] #[test]
fn test_refresh_downloads_key() { fn test_refresh_downloads_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -315,7 +315,7 @@ mod tests {
#[test] #[test]
fn test_refresh_downloads_key_no_op_when_not_ready() { fn test_refresh_downloads_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app app
@@ -352,7 +352,7 @@ mod tests {
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
#[case] expected_action: SonarrEvent, #[case] expected_action: SonarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -391,7 +391,7 @@ mod tests {
#[test] #[test]
fn test_extract_download_id() { fn test_extract_download_id() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -411,7 +411,7 @@ mod tests {
#[test] #[test]
fn test_downloads_handler_not_ready_when_loading() { fn test_downloads_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app.is_loading = true; app.is_loading = true;
@@ -427,7 +427,7 @@ mod tests {
#[test] #[test]
fn test_downloads_handler_not_ready_when_downloads_is_empty() { fn test_downloads_handler_not_ready_when_downloads_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app.is_loading = false; app.is_loading = false;
@@ -443,7 +443,7 @@ mod tests {
#[test] #[test]
fn test_downloads_handler_ready_when_not_loading_and_downloads_is_not_empty() { fn test_downloads_handler_ready_when_not_loading_and_downloads_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Downloads.into()); app.push_navigation_stack(ActiveSonarrBlock::Downloads.into());
app.is_loading = false; app.is_loading = false;
@@ -23,7 +23,7 @@ mod tests {
#[rstest] #[rstest]
fn test_history_tab_left(#[values(true, false)] is_ready: bool) { fn test_history_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(3); app.data.sonarr_data.main_tabs.set_index(3);
@@ -45,7 +45,7 @@ mod tests {
#[rstest] #[rstest]
fn test_history_tab_right(#[values(true, false)] is_ready: bool) { fn test_history_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(3); app.data.sonarr_data.main_tabs.set_index(3);
@@ -78,7 +78,7 @@ mod tests {
#[test] #[test]
fn test_history_submit() { fn test_history_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.history.set_items(history_vec()); app.data.sonarr_data.history.set_items(history_vec());
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
@@ -92,7 +92,7 @@ mod tests {
#[test] #[test]
fn test_history_submit_no_op_when_not_ready() { fn test_history_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.history.set_items(history_vec()); app.data.sonarr_data.history.set_items(history_vec());
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
@@ -115,7 +115,7 @@ mod tests {
#[test] #[test]
fn test_esc_history_item_details() { fn test_esc_history_item_details() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -137,7 +137,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
@@ -163,7 +163,7 @@ mod tests {
#[test] #[test]
fn test_refresh_history_key() { fn test_refresh_history_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.history.set_items(history_vec()); app.data.sonarr_data.history.set_items(history_vec());
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
@@ -181,7 +181,7 @@ mod tests {
#[test] #[test]
fn test_refresh_history_key_no_op_when_not_ready() { fn test_refresh_history_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.history.set_items(history_vec()); app.data.sonarr_data.history.set_items(history_vec());
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
@@ -308,7 +308,7 @@ mod tests {
#[test] #[test]
fn test_history_handler_not_ready_when_loading() { fn test_history_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
app.is_loading = true; app.is_loading = true;
@@ -324,7 +324,7 @@ mod tests {
#[test] #[test]
fn test_history_handler_not_ready_when_history_is_empty() { fn test_history_handler_not_ready_when_history_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
app.is_loading = false; app.is_loading = false;
@@ -340,7 +340,7 @@ mod tests {
#[test] #[test]
fn test_history_handler_ready_when_not_loading_and_history_is_not_empty() { fn test_history_handler_ready_when_not_loading_and_history_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::History.into()); app.push_navigation_stack(ActiveSonarrBlock::History.into());
app.is_loading = false; app.is_loading = false;
app app
@@ -25,7 +25,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_priority_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_indexer_priority_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -101,7 +101,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_indexer_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -127,7 +127,7 @@ mod tests {
fn test_edit_indexer_prompt_scroll_no_op_when_not_ready( fn test_edit_indexer_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key, #[values(Key::Up, Key::Down)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -155,7 +155,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_home_end() { fn test_edit_indexer_name_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
name: "Test".into(), name: "Test".into(),
@@ -207,7 +207,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_home_end() { fn test_edit_indexer_url_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
url: "Test".into(), url: "Test".into(),
@@ -259,7 +259,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_home_end() { fn test_edit_indexer_api_key_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
api_key: "Test".into(), api_key: "Test".into(),
@@ -311,7 +311,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_home_end() { fn test_edit_indexer_seed_ratio_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
seed_ratio: "Test".into(), seed_ratio: "Test".into(),
@@ -363,7 +363,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_home_end() { fn test_edit_indexer_tags_input_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
tags: "Test".into(), tags: "Test".into(),
@@ -430,7 +430,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS);
@@ -472,7 +472,7 @@ mod tests {
#[case] left_block: ActiveSonarrBlock, #[case] left_block: ActiveSonarrBlock,
#[case] right_block: ActiveSonarrBlock, #[case] right_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS);
@@ -525,7 +525,7 @@ mod tests {
#[case] left_block: ActiveSonarrBlock, #[case] left_block: ActiveSonarrBlock,
#[case] right_block: ActiveSonarrBlock, #[case] right_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_NZB_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_NZB_SELECTION_BLOCKS);
@@ -555,7 +555,7 @@ mod tests {
fn test_left_right_block_toggle_torren_empty_row_to_prompt_confirm( fn test_left_right_block_toggle_torren_empty_row_to_prompt_confirm(
#[values(Key::Left, Key::Right)] key: Key, #[values(Key::Left, Key::Right)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS); BlockSelectionState::new(EDIT_INDEXER_TORRENT_SELECTION_BLOCKS);
@@ -585,7 +585,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_left_right_keys() { fn test_edit_indexer_name_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
name: "Test".into(), name: "Test".into(),
@@ -637,7 +637,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_left_right_keys() { fn test_edit_indexer_url_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
url: "Test".into(), url: "Test".into(),
@@ -689,7 +689,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_left_right_keys() { fn test_edit_indexer_api_key_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
api_key: "Test".into(), api_key: "Test".into(),
@@ -741,7 +741,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_left_right_keys() { fn test_edit_indexer_seed_ratio_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
seed_ratio: "Test".into(), seed_ratio: "Test".into(),
@@ -793,7 +793,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_left_right_keys() { fn test_edit_indexer_tags_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
tags: "Test".into(), tags: "Test".into(),
@@ -861,7 +861,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_decline_submit() { fn test_edit_indexer_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -889,7 +889,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_confirmation_submit() { fn test_edit_indexer_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -946,7 +946,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_edit_indexer_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into());
@@ -981,7 +981,7 @@ mod tests {
#[case] starting_x: usize, #[case] starting_x: usize,
#[case] block: ActiveSonarrBlock, #[case] block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into());
@@ -1007,7 +1007,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_priority_input_submit() { fn test_edit_indexer_priority_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into());
@@ -1032,7 +1032,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_toggle_enable_rss_submit() { fn test_edit_indexer_toggle_enable_rss_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -1085,7 +1085,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_toggle_enable_automatic_search_submit() { fn test_edit_indexer_toggle_enable_automatic_search_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -1138,7 +1138,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_toggle_enable_interactive_search_submit() { fn test_edit_indexer_toggle_enable_interactive_search_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -1191,7 +1191,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_submit() { fn test_edit_indexer_name_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1227,7 +1227,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_submit() { fn test_edit_indexer_url_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1263,7 +1263,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_submit() { fn test_edit_indexer_api_key_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1299,7 +1299,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_submit() { fn test_edit_indexer_seed_ratio_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1335,7 +1335,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_submit() { fn test_edit_indexer_tags_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
@@ -1382,7 +1382,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_prompt_esc(#[values(true, false)] is_ready: bool) { fn test_edit_indexer_prompt_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into());
@@ -1413,7 +1413,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1442,7 +1442,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_backspace() { fn test_edit_indexer_name_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
name: "Test".into(), name: "Test".into(),
@@ -1472,7 +1472,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_backspace() { fn test_edit_indexer_url_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
url: "Test".into(), url: "Test".into(),
@@ -1502,7 +1502,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_backspace() { fn test_edit_indexer_api_key_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
api_key: "Test".into(), api_key: "Test".into(),
@@ -1532,7 +1532,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_backspace() { fn test_edit_indexer_seed_ratio_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
seed_ratio: "Test".into(), seed_ratio: "Test".into(),
@@ -1562,7 +1562,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_backspace() { fn test_edit_indexer_tags_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal { app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal {
tags: "Test".into(), tags: "Test".into(),
@@ -1592,7 +1592,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_name_input_char_key() { fn test_edit_indexer_name_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1619,7 +1619,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_url_input_char_key() { fn test_edit_indexer_url_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1646,7 +1646,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_api_key_input_char_key() { fn test_edit_indexer_api_key_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1673,7 +1673,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_seed_ratio_input_char_key() { fn test_edit_indexer_seed_ratio_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1700,7 +1700,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_tags_input_char_key() { fn test_edit_indexer_tags_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -1727,7 +1727,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_prompt_prompt_confirmation_confirm() { fn test_edit_indexer_prompt_prompt_confirmation_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditIndexerPrompt.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -1795,7 +1795,7 @@ mod tests {
#[test] #[test]
fn test_build_edit_indexer_params() { fn test_build_edit_indexer_params() {
let mut app = App::default(); let mut app = App::test_default();
let edit_indexer_modal = EditIndexerModal { let edit_indexer_modal = EditIndexerModal {
name: "Test Update".into(), name: "Test Update".into(),
enable_rss: Some(false), enable_rss: Some(false),
@@ -1837,7 +1837,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_handler_is_not_ready_when_loading() { fn test_edit_indexer_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
@@ -1853,7 +1853,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_handler_is_not_ready_when_edit_indexer_modal_is_none() { fn test_edit_indexer_handler_is_not_ready_when_edit_indexer_modal_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
@@ -1869,7 +1869,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_handler_is_ready_when_edit_indexer_modal_is_some() { fn test_edit_indexer_handler_is_ready_when_edit_indexer_modal_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default()); app.data.sonarr_data.edit_indexer_modal = Some(EditIndexerModal::default());
@@ -26,7 +26,7 @@ mod tests {
macro_rules! test_i64_counter_scroll_value { macro_rules! test_i64_counter_scroll_value {
($block:expr, $key:expr, $data_ref:ident, $negatives:literal) => { ($block:expr, $key:expr, $data_ref:ident, $negatives:literal) => {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
@@ -98,7 +98,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_settings_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_indexer_settings_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -130,7 +130,7 @@ mod tests {
fn test_edit_indexer_settings_prompt_scroll_no_op_when_not_ready( fn test_edit_indexer_settings_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key, #[values(Key::Up, Key::Down)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
@@ -203,7 +203,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS); BlockSelectionState::new(INDEXER_SETTINGS_SELECTION_BLOCKS);
@@ -249,7 +249,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_decline_submit() { fn test_edit_indexer_settings_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -277,7 +277,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_confirmation_submit() { fn test_edit_indexer_settings_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -309,7 +309,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_edit_indexer_settings_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into());
@@ -340,7 +340,7 @@ mod tests {
#[case] selected_block: ActiveSonarrBlock, #[case] selected_block: ActiveSonarrBlock,
#[case] y_index: usize, #[case] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into());
@@ -363,7 +363,7 @@ mod tests {
fn test_edit_indexer_settings_prompt_submit_selected_block_no_op_when_not_ready( fn test_edit_indexer_settings_prompt_submit_selected_block_no_op_when_not_ready(
#[values(0, 1, 2, 3, 4)] y_index: usize, #[values(0, 1, 2, 3, 4)] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
@@ -396,7 +396,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into());
@@ -423,7 +423,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_settings_prompt_esc(#[values(true, false)] is_ready: bool) { fn test_edit_indexer_settings_prompt_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into());
@@ -452,7 +452,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
@@ -480,7 +480,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_prompt_prompt_confirmation_confirm() { fn test_edit_indexer_settings_prompt_prompt_confirmation_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AllIndexerSettingsPrompt.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -523,7 +523,7 @@ mod tests {
#[test] #[test]
fn test_build_edit_indexer_settings_params() { fn test_build_edit_indexer_settings_params() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.indexer_settings = Some(indexer_settings()); app.data.sonarr_data.indexer_settings = Some(indexer_settings());
let actual_indexer_settings = IndexerSettingsHandler::new( let actual_indexer_settings = IndexerSettingsHandler::new(
@@ -540,7 +540,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_handler_not_ready_when_loading() { fn test_edit_indexer_settings_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
@@ -556,7 +556,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_handler_not_ready_when_indexer_settings_is_none() { fn test_edit_indexer_settings_handler_not_ready_when_indexer_settings_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
@@ -572,7 +572,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_settings_handler_ready_when_not_loading_and_indexer_settings_is_some() { fn test_edit_indexer_settings_handler_ready_when_not_loading_and_indexer_settings_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default()); app.data.sonarr_data.indexer_settings = Some(IndexerSettings::default());
@@ -25,7 +25,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt() { fn test_delete_indexer_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app app
.data .data
@@ -43,7 +43,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt_no_op_when_not_ready() { fn test_delete_indexer_prompt_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app app
@@ -66,7 +66,7 @@ mod tests {
#[rstest] #[rstest]
fn test_indexers_tab_left(#[values(true, false)] is_ready: bool) { fn test_indexers_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(5); app.data.sonarr_data.main_tabs.set_index(5);
@@ -91,7 +91,7 @@ mod tests {
#[rstest] #[rstest]
fn test_indexers_tab_right(#[values(true, false)] is_ready: bool) { fn test_indexers_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(5); app.data.sonarr_data.main_tabs.set_index(5);
@@ -115,7 +115,7 @@ mod tests {
fn test_left_right_delete_indexer_prompt_toggle( fn test_left_right_delete_indexer_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
IndexersHandler::new(key, &mut app, ActiveSonarrBlock::DeleteIndexerPrompt, None).handle(); IndexersHandler::new(key, &mut app, ActiveSonarrBlock::DeleteIndexerPrompt, None).handle();
@@ -146,7 +146,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_indexer_submit(#[values(true, false)] torrent_protocol: bool) { fn test_edit_indexer_submit(#[values(true, false)] torrent_protocol: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
let protocol = if torrent_protocol { let protocol = if torrent_protocol {
"torrent".to_owned() "torrent".to_owned()
@@ -228,7 +228,7 @@ mod tests {
#[test] #[test]
fn test_edit_indexer_submit_no_op_when_not_ready() { fn test_edit_indexer_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
@@ -246,7 +246,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt_confirm_submit() { fn test_delete_indexer_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.indexers.set_items(vec![indexer()]); app.data.sonarr_data.indexers.set_items(vec![indexer()]);
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
@@ -270,7 +270,7 @@ mod tests {
#[test] #[test]
fn test_prompt_decline_submit() { fn test_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -302,7 +302,7 @@ mod tests {
#[rstest] #[rstest]
fn test_delete_indexer_prompt_block_esc(#[values(true, false)] is_ready: bool) { fn test_delete_indexer_prompt_block_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteIndexerPrompt.into());
@@ -322,7 +322,7 @@ mod tests {
#[rstest] #[rstest]
fn test_test_indexer_esc(#[values(true, false)] is_ready: bool) { fn test_test_indexer_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.indexer_test_errors = Some("test result".to_owned()); app.data.sonarr_data.indexer_test_errors = Some("test result".to_owned());
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
@@ -336,7 +336,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
@@ -361,7 +361,7 @@ mod tests {
#[test] #[test]
fn test_refresh_indexers_key() { fn test_refresh_indexers_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -383,7 +383,7 @@ mod tests {
#[test] #[test]
fn test_refresh_indexers_key_no_op_when_not_ready() { fn test_refresh_indexers_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -406,7 +406,7 @@ mod tests {
#[test] #[test]
fn test_indexer_settings_key() { fn test_indexer_settings_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -439,7 +439,7 @@ mod tests {
#[test] #[test]
fn test_indexer_settings_key_no_op_when_not_ready() { fn test_indexer_settings_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app app
@@ -461,7 +461,7 @@ mod tests {
#[test] #[test]
fn test_test_key() { fn test_test_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app app
.data .data
@@ -485,7 +485,7 @@ mod tests {
#[test] #[test]
fn test_test_key_no_op_when_not_ready() { fn test_test_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app app
@@ -507,7 +507,7 @@ mod tests {
#[test] #[test]
fn test_test_all_key() { fn test_test_all_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app app
.data .data
@@ -531,7 +531,7 @@ mod tests {
#[test] #[test]
fn test_test_all_key_no_op_when_not_ready() { fn test_test_all_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app app
@@ -553,7 +553,7 @@ mod tests {
#[test] #[test]
fn test_delete_indexer_prompt_confirm() { fn test_delete_indexer_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.indexers.set_items(vec![indexer()]); app.data.sonarr_data.indexers.set_items(vec![indexer()]);
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteIndexerPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteIndexerPrompt.into());
@@ -645,7 +645,7 @@ mod tests {
#[test] #[test]
fn test_extract_indexer_id() { fn test_extract_indexer_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.indexers.set_items(vec![indexer()]); app.data.sonarr_data.indexers.set_items(vec![indexer()]);
let indexer_id = IndexersHandler::new( let indexer_id = IndexersHandler::new(
@@ -661,7 +661,7 @@ mod tests {
#[test] #[test]
fn test_indexers_handler_not_ready_when_loading() { fn test_indexers_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
@@ -677,7 +677,7 @@ mod tests {
#[test] #[test]
fn test_indexers_handler_not_ready_when_indexers_is_empty() { fn test_indexers_handler_not_ready_when_indexers_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
@@ -693,7 +693,7 @@ mod tests {
#[test] #[test]
fn test_indexers_handler_ready_when_not_loading_and_indexers_is_not_empty() { fn test_indexers_handler_ready_when_not_loading_and_indexers_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
app app
@@ -17,7 +17,7 @@ mod tests {
#[rstest] #[rstest]
fn test_test_all_indexers_esc(#[values(true, false)] is_ready: bool) { fn test_test_all_indexers_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.push_navigation_stack(ActiveSonarrBlock::TestAllIndexers.into()); app.push_navigation_stack(ActiveSonarrBlock::TestAllIndexers.into());
@@ -50,7 +50,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_not_ready_when_loading() { fn test_test_all_indexers_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = true; app.is_loading = true;
@@ -66,7 +66,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_not_ready_when_results_is_none() { fn test_test_all_indexers_handler_is_not_ready_when_results_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
@@ -82,7 +82,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_not_ready_when_results_is_empty() { fn test_test_all_indexers_handler_is_not_ready_when_results_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.indexer_test_all_results = Some(StatefulTable::default()); app.data.sonarr_data.indexer_test_all_results = Some(StatefulTable::default());
@@ -99,7 +99,7 @@ mod tests {
#[test] #[test]
fn test_test_all_indexers_handler_is_ready_when_results_is_not_empty_and_is_loaded() { fn test_test_all_indexers_handler_is_ready_when_results_is_not_empty_and_is_loaded() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Indexers.into()); app.push_navigation_stack(ActiveSonarrBlock::Indexers.into());
app.is_loading = false; app.is_loading = false;
let mut indexer_test_results = StatefulTable::default(); let mut indexer_test_results = StatefulTable::default();
@@ -36,7 +36,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let monitor_vec = Vec::from_iter(SeriesMonitor::iter()); let monitor_vec = Vec::from_iter(SeriesMonitor::iter());
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -100,7 +100,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let series_type_vec = Vec::from_iter(SeriesType::iter()); let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -163,7 +163,7 @@ mod tests {
fn test_add_series_select_quality_profile_scroll( fn test_add_series_select_quality_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -220,7 +220,7 @@ mod tests {
fn test_add_series_select_language_profile_scroll( fn test_add_series_select_language_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -277,7 +277,7 @@ mod tests {
fn test_add_series_select_root_folder_scroll( fn test_add_series_select_root_folder_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -334,7 +334,7 @@ mod tests {
#[rstest] #[rstest]
fn test_add_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_add_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.down(); app.data.sonarr_data.selected_block.down();
@@ -356,7 +356,7 @@ mod tests {
#[rstest] #[rstest]
fn test_add_series_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) { fn test_add_series_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
@@ -385,7 +385,7 @@ mod tests {
#[test] #[test]
fn test_add_series_select_monitor_home_end() { fn test_add_series_select_monitor_home_end() {
let monitor_vec = Vec::from_iter(SeriesMonitor::iter()); let monitor_vec = Vec::from_iter(SeriesMonitor::iter());
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -441,7 +441,7 @@ mod tests {
#[test] #[test]
fn test_add_series_select_series_type_home_end() { fn test_add_series_select_series_type_home_end() {
let series_type_vec = Vec::from_iter(SeriesType::iter()); let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -496,7 +496,7 @@ mod tests {
#[test] #[test]
fn test_add_series_select_quality_profile_home_end() { fn test_add_series_select_quality_profile_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -555,7 +555,7 @@ mod tests {
#[test] #[test]
fn test_add_series_select_language_profile_home_end() { fn test_add_series_select_language_profile_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -614,7 +614,7 @@ mod tests {
#[test] #[test]
fn test_add_series_select_root_folder_home_end() { fn test_add_series_select_root_folder_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app app
@@ -671,7 +671,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_input_home_end_keys() { fn test_add_series_search_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some("Test".into()); app.data.sonarr_data.add_series_search = Some("Test".into());
@@ -718,7 +718,7 @@ mod tests {
#[test] #[test]
fn test_add_series_tags_input_home_end_keys() { fn test_add_series_tags_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal { app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: "Test".into(), tags: "Test".into(),
@@ -780,7 +780,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
AddSeriesHandler::new(key, &mut app, ActiveSonarrBlock::AddSeriesPrompt, None).handle(); AddSeriesHandler::new(key, &mut app, ActiveSonarrBlock::AddSeriesPrompt, None).handle();
@@ -794,7 +794,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_input_left_right_keys() { fn test_add_series_search_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some("Test".into()); app.data.sonarr_data.add_series_search = Some("Test".into());
@@ -841,7 +841,7 @@ mod tests {
#[test] #[test]
fn test_add_series_tags_input_left_right_keys() { fn test_add_series_tags_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal { app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: "Test".into(), tags: "Test".into(),
@@ -910,7 +910,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_input_submit() { fn test_add_series_search_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.add_series_search = Some("test".into()); app.data.sonarr_data.add_series_search = Some("test".into());
@@ -932,7 +932,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_input_submit_noop_on_empty_search() { fn test_add_series_search_input_submit_noop_on_empty_search() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.add_series_search = Some(HorizontallyScrollableText::default()); app.data.sonarr_data.add_series_search = Some(HorizontallyScrollableText::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchInput.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchInput.into());
@@ -955,7 +955,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_results_submit() { fn test_add_series_search_results_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let mut add_searched_series = StatefulTable::default(); let mut add_searched_series = StatefulTable::default();
add_searched_series.set_items(vec![AddSeriesSearchResult::default()]); add_searched_series.set_items(vec![AddSeriesSearchResult::default()]);
@@ -1022,7 +1022,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_results_submit_no_op_when_not_ready() { fn test_add_series_search_results_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into());
@@ -1046,7 +1046,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_results_submit_does_nothing_on_empty_table() { fn test_add_series_search_results_submit_does_nothing_on_empty_table() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into());
AddSeriesHandler::new( AddSeriesHandler::new(
@@ -1065,7 +1065,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_results_submit_series_already_in_library() { fn test_add_series_search_results_submit_series_already_in_library() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let mut add_searched_series = StatefulTable::default(); let mut add_searched_series = StatefulTable::default();
add_searched_series.set_items(vec![AddSeriesSearchResult::default()]); add_searched_series.set_items(vec![AddSeriesSearchResult::default()]);
@@ -1092,7 +1092,7 @@ mod tests {
#[test] #[test]
fn test_add_series_prompt_prompt_decline_submit() { fn test_add_series_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
@@ -1116,7 +1116,7 @@ mod tests {
#[test] #[test]
fn test_add_series_confirm_prompt_prompt_confirmation_submit() { fn test_add_series_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -1212,7 +1212,7 @@ mod tests {
#[case] selected_block: ActiveSonarrBlock, #[case] selected_block: ActiveSonarrBlock,
#[case] y_index: usize, #[case] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
@@ -1246,7 +1246,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -1265,7 +1265,7 @@ mod tests {
#[test] #[test]
fn test_add_series_toggle_use_season_folder_submit() { fn test_add_series_toggle_use_season_folder_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(ADD_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.set_index(0, 5); app.data.sonarr_data.selected_block.set_index(0, 5);
@@ -1333,7 +1333,7 @@ mod tests {
#[rstest] #[rstest]
fn test_add_series_search_input_esc(#[values(true, false)] is_ready: bool) { fn test_add_series_search_input_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
@@ -1355,7 +1355,7 @@ mod tests {
#[test] #[test]
fn test_add_series_input_esc() { fn test_add_series_input_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1385,7 +1385,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchInput.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchInput.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -1408,7 +1408,7 @@ mod tests {
#[test] #[test]
fn test_add_series_already_in_library_esc() { fn test_add_series_already_in_library_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesSearchResults.into());
@@ -1430,7 +1430,7 @@ mod tests {
#[test] #[test]
fn test_add_series_prompt_esc() { fn test_add_series_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1449,7 +1449,7 @@ mod tests {
#[test] #[test]
fn test_add_series_tags_input_esc() { fn test_add_series_tags_input_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1482,7 +1482,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AddSeriesPrompt.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -1509,7 +1509,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_input_backspace() { fn test_add_series_search_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some("Test".into()); app.data.sonarr_data.add_series_search = Some("Test".into());
@@ -1535,7 +1535,7 @@ mod tests {
#[test] #[test]
fn test_add_series_tags_input_backspace() { fn test_add_series_tags_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal { app.data.sonarr_data.add_series_modal = Some(AddSeriesModal {
tags: "Test".into(), tags: "Test".into(),
@@ -1565,7 +1565,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_input_char_key() { fn test_add_series_search_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_search = Some(HorizontallyScrollableText::default()); app.data.sonarr_data.add_series_search = Some(HorizontallyScrollableText::default());
@@ -1591,7 +1591,7 @@ mod tests {
#[test] #[test]
fn test_add_series_tags_input_char_key() { fn test_add_series_tags_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default()); app.data.sonarr_data.add_series_modal = Some(AddSeriesModal::default());
@@ -1618,7 +1618,7 @@ mod tests {
#[test] #[test]
fn test_add_series_confirm_prompt_prompt_confirmation_confirm() { fn test_add_series_confirm_prompt_prompt_confirmation_confirm() {
let mut app = App::default(); let mut app = App::test_default();
let mut add_series_modal = AddSeriesModal { let mut add_series_modal = AddSeriesModal {
use_season_folder: true, use_season_folder: true,
tags: "usenet, testing".into(), tags: "usenet, testing".into(),
@@ -1716,7 +1716,7 @@ mod tests {
#[test] #[test]
fn test_add_series_search_no_panic_on_none_search_result() { fn test_add_series_search_no_panic_on_none_search_result() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.add_series_search = None; app.data.sonarr_data.add_series_search = None;
AddSeriesHandler::new( AddSeriesHandler::new(
@@ -1730,7 +1730,7 @@ mod tests {
#[test] #[test]
fn test_build_add_series_body() { fn test_build_add_series_body() {
let mut app = App::default(); let mut app = App::test_default();
let mut add_series_modal = AddSeriesModal { let mut add_series_modal = AddSeriesModal {
use_season_folder: true, use_season_folder: true,
tags: "usenet, testing".into(), tags: "usenet, testing".into(),
@@ -1803,7 +1803,7 @@ mod tests {
#[test] #[test]
fn test_add_series_handler_is_not_ready_when_loading() { fn test_add_series_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true; app.is_loading = true;
@@ -1819,7 +1819,7 @@ mod tests {
#[test] #[test]
fn test_add_series_handler_is_ready_when_not_loading() { fn test_add_series_handler_is_ready_when_not_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = false; app.is_loading = false;
@@ -23,7 +23,7 @@ mod tests {
#[rstest] #[rstest]
fn test_delete_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_delete_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS); BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.down(); app.data.sonarr_data.selected_block.down();
@@ -47,7 +47,7 @@ mod tests {
fn test_delete_series_prompt_scroll_no_op_when_not_ready( fn test_delete_series_prompt_scroll_no_op_when_not_ready(
#[values(Key::Up, Key::Down)] key: Key, #[values(Key::Up, Key::Down)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS); BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS);
@@ -69,7 +69,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
DeleteSeriesHandler::new(key, &mut app, ActiveSonarrBlock::DeleteSeriesPrompt, None).handle(); DeleteSeriesHandler::new(key, &mut app, ActiveSonarrBlock::DeleteSeriesPrompt, None).handle();
@@ -95,7 +95,7 @@ mod tests {
#[test] #[test]
fn test_delete_series_prompt_prompt_decline_submit() { fn test_delete_series_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
@@ -125,7 +125,7 @@ mod tests {
#[test] #[test]
fn test_delete_series_confirm_prompt_prompt_confirmation_submit() { fn test_delete_series_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -166,7 +166,7 @@ mod tests {
#[test] #[test]
fn test_delete_series_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_delete_series_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
@@ -196,7 +196,7 @@ mod tests {
#[test] #[test]
fn test_delete_series_toggle_delete_files_submit() { fn test_delete_series_toggle_delete_files_submit() {
let current_route = ActiveSonarrBlock::DeleteSeriesPrompt.into(); let current_route = ActiveSonarrBlock::DeleteSeriesPrompt.into();
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.selected_block = app.data.sonarr_data.selected_block =
BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS); BlockSelectionState::new(DELETE_SERIES_SELECTION_BLOCKS);
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
@@ -234,7 +234,7 @@ mod tests {
#[rstest] #[rstest]
fn test_delete_series_prompt_esc(#[values(true, false)] is_ready: bool) { fn test_delete_series_prompt_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
@@ -270,7 +270,7 @@ mod tests {
#[test] #[test]
fn test_delete_series_confirm_prompt_prompt_confirm() { fn test_delete_series_confirm_prompt_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteSeriesPrompt.into());
app.data.sonarr_data.delete_series_files = true; app.data.sonarr_data.delete_series_files = true;
@@ -322,7 +322,7 @@ mod tests {
#[test] #[test]
fn test_build_delete_series_params() { fn test_build_delete_series_params() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![series()]); app.data.sonarr_data.series.set_items(vec![series()]);
app.data.sonarr_data.delete_series_files = true; app.data.sonarr_data.delete_series_files = true;
app.data.sonarr_data.add_list_exclusion = true; app.data.sonarr_data.add_list_exclusion = true;
@@ -347,7 +347,7 @@ mod tests {
#[test] #[test]
fn test_delete_series_handler_not_ready_when_loading() { fn test_delete_series_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = DeleteSeriesHandler::new( let handler = DeleteSeriesHandler::new(
@@ -362,7 +362,7 @@ mod tests {
#[test] #[test]
fn test_delete_series_handler_ready_when_not_loading() { fn test_delete_series_handler_ready_when_not_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = DeleteSeriesHandler::new( let handler = DeleteSeriesHandler::new(
@@ -30,7 +30,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let series_type_vec = Vec::from_iter(SeriesType::iter()); let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app app
@@ -93,7 +93,7 @@ mod tests {
fn test_edit_series_select_quality_profile_scroll( fn test_edit_series_select_quality_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app app
@@ -150,7 +150,7 @@ mod tests {
fn test_edit_series_select_language_profile_scroll( fn test_edit_series_select_language_profile_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app app
@@ -205,7 +205,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_series_prompt_scroll(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS);
@@ -228,7 +228,7 @@ mod tests {
#[rstest] #[rstest]
fn test_edit_series_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) { fn test_edit_series_prompt_scroll_no_op_when_not_ready(#[values(Key::Up, Key::Down)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -257,7 +257,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_select_series_type_home_end() { fn test_edit_series_select_series_type_home_end() {
let series_type_vec = Vec::from_iter(SeriesType::iter()); let series_type_vec = Vec::from_iter(SeriesType::iter());
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app app
@@ -312,7 +312,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_select_quality_profile_scroll() { fn test_edit_series_select_quality_profile_scroll() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app app
@@ -371,7 +371,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_select_language_profile_scroll() { fn test_edit_series_select_language_profile_scroll() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app app
@@ -430,7 +430,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_path_input_home_end_keys() { fn test_edit_series_path_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test".into(), path: "Test".into(),
@@ -482,7 +482,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_tags_input_home_end_keys() { fn test_edit_series_tags_input_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test".into(), tags: "Test".into(),
@@ -544,7 +544,7 @@ mod tests {
#[rstest] #[rstest]
fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) { fn test_left_right_prompt_toggle(#[values(Key::Left, Key::Right)] key: Key) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
EditSeriesHandler::new(key, &mut app, ActiveSonarrBlock::EditSeriesPrompt, None).handle(); EditSeriesHandler::new(key, &mut app, ActiveSonarrBlock::EditSeriesPrompt, None).handle();
@@ -558,7 +558,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_path_input_left_right_keys() { fn test_edit_series_path_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test".into(), path: "Test".into(),
@@ -610,7 +610,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_tags_input_left_right_keys() { fn test_edit_series_tags_input_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test".into(), tags: "Test".into(),
@@ -676,7 +676,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_path_input_submit() { fn test_edit_series_path_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test Path".into(), path: "Test Path".into(),
@@ -712,7 +712,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_tags_input_submit() { fn test_edit_series_tags_input_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test Tags".into(), tags: "Test Tags".into(),
@@ -748,7 +748,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_prompt_prompt_decline_submit() { fn test_edit_series_prompt_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into());
@@ -773,7 +773,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_confirm_prompt_prompt_confirmation_submit() { fn test_edit_series_confirm_prompt_prompt_confirmation_submit() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_series = EditSeriesModal { let mut edit_series = EditSeriesModal {
tags: "usenet, testing".to_owned().into(), tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(), path: "/nfs/Test Path".to_owned().into(),
@@ -840,7 +840,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() { fn test_edit_series_confirm_prompt_prompt_confirmation_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -869,7 +869,7 @@ mod tests {
ActiveSonarrBlock::EditSeriesPrompt, ActiveSonarrBlock::EditSeriesPrompt,
Some(ActiveSonarrBlock::Series), Some(ActiveSonarrBlock::Series),
)); ));
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS);
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -922,7 +922,7 @@ mod tests {
ActiveSonarrBlock::EditSeriesPrompt, ActiveSonarrBlock::EditSeriesPrompt,
Some(ActiveSonarrBlock::Series), Some(ActiveSonarrBlock::Series),
)); ));
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS); app.data.sonarr_data.selected_block = BlockSelectionState::new(EDIT_SERIES_SELECTION_BLOCKS);
app.data.sonarr_data.selected_block.set_index(0, 1); app.data.sonarr_data.selected_block.set_index(0, 1);
@@ -980,7 +980,7 @@ mod tests {
#[case] selected_block: ActiveSonarrBlock, #[case] selected_block: ActiveSonarrBlock,
#[case] y_index: usize, #[case] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack( app.push_navigation_stack(
@@ -1018,7 +1018,7 @@ mod tests {
fn test_edit_series_prompt_selected_block_submit_no_op_when_not_ready( fn test_edit_series_prompt_selected_block_submit_no_op_when_not_ready(
#[values(1, 2, 3, 4)] y_index: usize, #[values(1, 2, 3, 4)] y_index: usize,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1063,7 +1063,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into());
@@ -1109,7 +1109,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1127,7 +1127,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_prompt_esc() { fn test_edit_series_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::EditSeriesPrompt.into());
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
@@ -1151,7 +1151,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -1178,7 +1178,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_path_input_backspace() { fn test_edit_series_path_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
path: "Test".into(), path: "Test".into(),
@@ -1208,7 +1208,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_tags_input_backspace() { fn test_edit_series_tags_input_backspace() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal { app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal {
tags: "Test".into(), tags: "Test".into(),
@@ -1238,7 +1238,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_path_input_char_key() { fn test_edit_series_path_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -1265,7 +1265,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_tags_input_char_key() { fn test_edit_series_tags_input_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -1292,7 +1292,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_confirm_prompt_prompt_confirm() { fn test_edit_series_confirm_prompt_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_series = EditSeriesModal { let mut edit_series = EditSeriesModal {
tags: "usenet, testing".to_owned().into(), tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(), path: "/nfs/Test Path".to_owned().into(),
@@ -1370,7 +1370,7 @@ mod tests {
#[test] #[test]
fn test_build_edit_series_params() { fn test_build_edit_series_params() {
let mut app = App::default(); let mut app = App::test_default();
let mut edit_series = EditSeriesModal { let mut edit_series = EditSeriesModal {
tags: "usenet, testing".to_owned().into(), tags: "usenet, testing".to_owned().into(),
path: "/nfs/Test Path".to_owned().into(), path: "/nfs/Test Path".to_owned().into(),
@@ -1423,7 +1423,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_handler_is_not_ready_when_loading() { fn test_edit_series_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true; app.is_loading = true;
@@ -1439,7 +1439,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_handler_is_not_ready_when_edit_series_modal_is_none() { fn test_edit_series_handler_is_not_ready_when_edit_series_modal_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = false; app.is_loading = false;
@@ -1455,7 +1455,7 @@ mod tests {
#[test] #[test]
fn test_edit_series_handler_is_ready_when_edit_series_modal_is_some() { fn test_edit_series_handler_is_ready_when_edit_series_modal_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default()); app.data.sonarr_data.edit_series_modal = Some(EditSeriesModal::default());
@@ -31,7 +31,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
#[values(Key::Left, Key::Right)] key: Key, #[values(Key::Left, Key::Right)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
EpisodeDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle(); EpisodeDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -56,7 +56,7 @@ mod tests {
#[case] right_block: ActiveSonarrBlock, #[case] right_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_loading = is_ready; app.is_loading = is_ready;
@@ -137,7 +137,7 @@ mod tests {
#[test] #[test]
fn test_episode_history_submit() { fn test_episode_history_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
EpisodeDetailsHandler::new( EpisodeDetailsHandler::new(
@@ -156,7 +156,7 @@ mod tests {
#[test] #[test]
fn test_episode_history_submit_no_op_when_episode_history_is_empty() { fn test_episode_history_submit_no_op_when_episode_history_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -186,7 +186,7 @@ mod tests {
#[test] #[test]
fn test_episode_history_submit_no_op_when_not_ready() { fn test_episode_history_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistory.into()); app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistory.into());
@@ -221,7 +221,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -247,7 +247,7 @@ mod tests {
#[test] #[test]
fn test_manual_episode_search_confirm_prompt_confirm_submit() { fn test_manual_episode_search_confirm_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -285,7 +285,7 @@ mod tests {
)] )]
prompt_block: ActiveSonarrBlock, prompt_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
@@ -302,7 +302,7 @@ mod tests {
#[test] #[test]
fn test_manual_episode_search_submit() { fn test_manual_episode_search_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -322,7 +322,7 @@ mod tests {
#[test] #[test]
fn test_manual_episode_search_submit_no_op_when_not_ready() { fn test_manual_episode_search_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -351,7 +351,7 @@ mod tests {
#[test] #[test]
fn test_episode_history_details_block_esc() { fn test_episode_history_details_block_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistory.into()); app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistory.into());
app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistoryDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::EpisodeHistoryDetails.into());
@@ -379,7 +379,7 @@ mod tests {
prompt_block: ActiveSonarrBlock, prompt_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -405,7 +405,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -443,7 +443,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -471,7 +471,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -496,7 +496,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
app.is_routing = false; app.is_routing = false;
@@ -523,7 +523,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -551,7 +551,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -583,7 +583,7 @@ mod tests {
#[test] #[test]
fn test_episode_details_manual_search_confirm_prompt_confirm_confirm_key() { fn test_episode_details_manual_search_confirm_prompt_confirm_confirm_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualEpisodeSearch.into());
@@ -627,7 +627,7 @@ mod tests {
#[test] #[test]
fn test_extract_episode_id() { fn test_extract_episode_id() {
let mut app = App::default(); let mut app = App::test_default();
let mut season_details_modal = SeasonDetailsModal::default(); let mut season_details_modal = SeasonDetailsModal::default();
season_details_modal.episodes.set_items(vec![episode()]); season_details_modal.episodes.set_items(vec![episode()]);
app.data.sonarr_data.season_details_modal = Some(season_details_modal); app.data.sonarr_data.season_details_modal = Some(season_details_modal);
@@ -646,7 +646,7 @@ mod tests {
#[test] #[test]
#[should_panic = "Season details modal is undefined"] #[should_panic = "Season details modal is undefined"]
fn test_extract_episode_id_panics_when_season_details_modal_is_none() { fn test_extract_episode_id_panics_when_season_details_modal_is_none() {
let mut app = App::default(); let mut app = App::test_default();
EpisodeDetailsHandler::new( EpisodeDetailsHandler::new(
DEFAULT_KEYBINDINGS.esc.key, DEFAULT_KEYBINDINGS.esc.key,
@@ -659,7 +659,7 @@ mod tests {
#[test] #[test]
fn test_episode_details_handler_is_not_ready_when_loading() { fn test_episode_details_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app.is_loading = true; app.is_loading = true;
@@ -675,7 +675,7 @@ mod tests {
#[test] #[test]
fn test_episode_details_handler_is_not_ready_when_season_details_modal_is_empty() { fn test_episode_details_handler_is_not_ready_when_season_details_modal_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app.is_loading = false; app.is_loading = false;
@@ -691,7 +691,7 @@ mod tests {
#[test] #[test]
fn test_episode_details_handler_is_not_ready_when_episode_details_modal_is_empty() { fn test_episode_details_handler_is_not_ready_when_episode_details_modal_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -715,7 +715,7 @@ mod tests {
#[test] #[test]
fn test_episode_details_handler_is_not_ready_when_episode_history_table_is_empty() { fn test_episode_details_handler_is_not_ready_when_episode_history_table_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -742,7 +742,7 @@ mod tests {
#[test] #[test]
fn test_episode_details_handler_is_not_ready_when_episode_releases_table_is_empty() { fn test_episode_details_handler_is_not_ready_when_episode_releases_table_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -772,7 +772,7 @@ mod tests {
#[values(ActiveSonarrBlock::EpisodeDetails, ActiveSonarrBlock::EpisodeFile)] #[values(ActiveSonarrBlock::EpisodeDetails, ActiveSonarrBlock::EpisodeFile)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -804,7 +804,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
app.is_loading = false; app.is_loading = false;
@@ -29,7 +29,7 @@ mod tests {
#[test] #[test]
fn test_series_delete() { fn test_series_delete() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -50,7 +50,7 @@ mod tests {
#[test] #[test]
fn test_series_delete_no_op_when_not_ready() { fn test_series_delete_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app app
@@ -73,7 +73,7 @@ mod tests {
#[rstest] #[rstest]
fn test_series_tab_left(#[values(true, false)] is_ready: bool) { fn test_series_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(0); app.data.sonarr_data.main_tabs.set_index(0);
@@ -94,7 +94,7 @@ mod tests {
#[rstest] #[rstest]
fn test_series_tab_right(#[values(true, false)] is_ready: bool) { fn test_series_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(0); app.data.sonarr_data.main_tabs.set_index(0);
@@ -117,7 +117,7 @@ mod tests {
fn test_left_right_update_all_series_prompt_toggle( fn test_left_right_update_all_series_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
LibraryHandler::new( LibraryHandler::new(
@@ -153,7 +153,7 @@ mod tests {
#[test] #[test]
fn test_series_details_submit() { fn test_series_details_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -170,7 +170,7 @@ mod tests {
#[test] #[test]
fn test_series_details_submit_no_op_when_not_ready() { fn test_series_details_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app app
@@ -186,7 +186,7 @@ mod tests {
#[test] #[test]
fn test_update_all_series_prompt_confirm_submit() { fn test_update_all_series_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -214,7 +214,7 @@ mod tests {
#[test] #[test]
fn test_update_all_series_prompt_decline_submit() { fn test_update_all_series_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -248,7 +248,7 @@ mod tests {
#[test] #[test]
fn test_update_all_series_prompt_blocks_esc() { fn test_update_all_series_prompt_blocks_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.push_navigation_stack(ActiveSonarrBlock::UpdateAllSeriesPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::UpdateAllSeriesPrompt.into());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -267,7 +267,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -297,7 +297,7 @@ mod tests {
#[test] #[test]
fn test_series_add_key() { fn test_series_add_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -322,7 +322,7 @@ mod tests {
#[test] #[test]
fn test_series_add_key_no_op_when_not_ready() { fn test_series_add_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app app
@@ -355,7 +355,7 @@ mod tests {
#[test] #[test]
fn test_series_edit_key_no_op_when_not_ready() { fn test_series_edit_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app app
@@ -378,7 +378,7 @@ mod tests {
#[test] #[test]
fn test_update_all_series_key() { fn test_update_all_series_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -401,7 +401,7 @@ mod tests {
#[test] #[test]
fn test_update_all_series_key_no_op_when_not_ready() { fn test_update_all_series_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app app
@@ -423,7 +423,7 @@ mod tests {
#[test] #[test]
fn test_refresh_series_key() { fn test_refresh_series_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -445,7 +445,7 @@ mod tests {
#[test] #[test]
fn test_refresh_series_key_no_op_when_not_ready() { fn test_refresh_series_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -468,7 +468,7 @@ mod tests {
#[test] #[test]
fn test_update_all_series_prompt_confirm() { fn test_update_all_series_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -829,7 +829,7 @@ mod tests {
#[test] #[test]
fn test_library_handler_not_ready_when_loading() { fn test_library_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let handler = LibraryHandler::new( let handler = LibraryHandler::new(
@@ -844,7 +844,7 @@ mod tests {
#[test] #[test]
fn test_library_handler_not_ready_when_series_is_empty() { fn test_library_handler_not_ready_when_series_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
let handler = LibraryHandler::new( let handler = LibraryHandler::new(
@@ -859,7 +859,7 @@ mod tests {
#[test] #[test]
fn test_library_handler_ready_when_not_loading_and_series_is_not_empty() { fn test_library_handler_ready_when_not_loading_and_series_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = false; app.is_loading = false;
app app
.data .data
@@ -30,7 +30,7 @@ mod tests {
#[test] #[test]
fn test_delete_episode_prompt() { fn test_delete_episode_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
@@ -45,7 +45,7 @@ mod tests {
#[test] #[test]
fn test_delete_episode_prompt_no_op_when_not_ready() { fn test_delete_episode_prompt_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_loading = true; app.is_loading = true;
@@ -75,7 +75,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
#[values(Key::Left, Key::Right)] key: Key, #[values(Key::Left, Key::Right)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
SeasonDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle(); SeasonDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -102,7 +102,7 @@ mod tests {
#[case] right_block: ActiveSonarrBlock, #[case] right_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.is_loading = is_ready; app.is_loading = is_ready;
@@ -169,7 +169,7 @@ mod tests {
#[test] #[test]
fn test_season_details_submit() { fn test_season_details_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
@@ -184,7 +184,7 @@ mod tests {
#[test] #[test]
fn test_season_details_submit_no_op_on_empty_episodes_table() { fn test_season_details_submit_no_op_on_empty_episodes_table() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -206,7 +206,7 @@ mod tests {
#[test] #[test]
fn test_season_details_submit_no_op_when_not_ready() { fn test_season_details_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
@@ -221,7 +221,7 @@ mod tests {
#[test] #[test]
fn test_season_history_submit() { fn test_season_history_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
SeasonDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::SeasonHistory, None) SeasonDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::SeasonHistory, None)
@@ -235,7 +235,7 @@ mod tests {
#[test] #[test]
fn test_season_history_submit_no_op_when_season_history_is_empty() { fn test_season_history_submit_no_op_when_season_history_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -257,7 +257,7 @@ mod tests {
#[test] #[test]
fn test_season_history_submit_no_op_when_not_ready() { fn test_season_history_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into());
@@ -286,7 +286,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeasonDetails, ActiveSonarrBlock::SeasonHistory)] #[values(ActiveSonarrBlock::SeasonDetails, ActiveSonarrBlock::SeasonHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -304,7 +304,7 @@ mod tests {
#[test] #[test]
fn test_season_details_manual_search_confirm_prompt_confirm_submit() { fn test_season_details_manual_search_confirm_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -344,7 +344,7 @@ mod tests {
)] )]
prompt_block: ActiveSonarrBlock, prompt_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
@@ -361,7 +361,7 @@ mod tests {
#[test] #[test]
fn test_manual_season_search_submit() { fn test_manual_season_search_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -381,7 +381,7 @@ mod tests {
#[test] #[test]
fn test_manual_season_search_submit_no_op_when_not_ready() { fn test_manual_season_search_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -413,7 +413,7 @@ mod tests {
#[test] #[test]
fn test_season_history_details_block_esc() { fn test_season_history_details_block_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into());
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistoryDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonHistoryDetails.into());
@@ -442,7 +442,7 @@ mod tests {
prompt_block: ActiveSonarrBlock, prompt_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -460,7 +460,7 @@ mod tests {
#[test] #[test]
fn test_season_history_esc_resets_filter_if_one_is_set_instead_of_closing_the_window() { fn test_season_history_esc_resets_filter_if_one_is_set_instead_of_closing_the_window() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
let mut season_history = StatefulTable { let mut season_history = StatefulTable {
filter: Some("Test".into()), filter: Some("Test".into()),
@@ -523,7 +523,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -546,7 +546,7 @@ mod tests {
#[test] #[test]
fn test_toggle_monitoring_key() { fn test_toggle_monitoring_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app app
.data .data
@@ -581,7 +581,7 @@ mod tests {
#[test] #[test]
fn test_toggle_monitoring_key_no_op_when_not_ready() { fn test_toggle_monitoring_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_routing = false; app.is_routing = false;
@@ -612,7 +612,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -639,7 +639,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -663,7 +663,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
app.is_routing = false; app.is_routing = false;
@@ -689,7 +689,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -722,7 +722,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeasonDetails, ActiveSonarrBlock::SeasonHistory)] #[values(ActiveSonarrBlock::SeasonDetails, ActiveSonarrBlock::SeasonHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -746,7 +746,7 @@ mod tests {
#[test] #[test]
fn test_season_details_manual_search_confirm_prompt_confirm_confirm_key() { fn test_season_details_manual_search_confirm_prompt_confirm_confirm_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -791,7 +791,7 @@ mod tests {
#[test] #[test]
fn test_extract_episode_file_id() { fn test_extract_episode_file_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
let episode_file_id = SeasonDetailsHandler::new( let episode_file_id = SeasonDetailsHandler::new(
@@ -808,7 +808,7 @@ mod tests {
#[test] #[test]
#[should_panic(expected = "Season details have not been loaded")] #[should_panic(expected = "Season details have not been loaded")]
fn test_extract_episode_file_id_empty_season_details_modal_panics() { fn test_extract_episode_file_id_empty_season_details_modal_panics() {
let mut app = App::default(); let mut app = App::test_default();
SeasonDetailsHandler::new( SeasonDetailsHandler::new(
DEFAULT_KEYBINDINGS.esc.key, DEFAULT_KEYBINDINGS.esc.key,
@@ -821,7 +821,7 @@ mod tests {
#[test] #[test]
fn test_extract_episode_id() { fn test_extract_episode_id() {
let mut app = App::default(); let mut app = App::test_default();
let mut season_details_modal = SeasonDetailsModal::default(); let mut season_details_modal = SeasonDetailsModal::default();
season_details_modal.episodes.set_items(vec![episode()]); season_details_modal.episodes.set_items(vec![episode()]);
app.data.sonarr_data.season_details_modal = Some(season_details_modal); app.data.sonarr_data.season_details_modal = Some(season_details_modal);
@@ -840,7 +840,7 @@ mod tests {
#[test] #[test]
#[should_panic(expected = "Season details have not been loaded")] #[should_panic(expected = "Season details have not been loaded")]
fn test_extract_episode_id_panic_when_season_details_modal_is_none() { fn test_extract_episode_id_panic_when_season_details_modal_is_none() {
let mut app = App::default(); let mut app = App::test_default();
SeasonDetailsHandler::new( SeasonDetailsHandler::new(
DEFAULT_KEYBINDINGS.esc.key, DEFAULT_KEYBINDINGS.esc.key,
@@ -853,7 +853,7 @@ mod tests {
#[test] #[test]
fn test_extract_series_id_season_number_tuple() { fn test_extract_series_id_season_number_tuple() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
let (series_id, season_number) = SeasonDetailsHandler::new( let (series_id, season_number) = SeasonDetailsHandler::new(
@@ -870,7 +870,7 @@ mod tests {
#[test] #[test]
fn test_season_details_handler_is_not_ready_when_loading() { fn test_season_details_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
app.is_loading = true; app.is_loading = true;
@@ -886,7 +886,7 @@ mod tests {
#[test] #[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_season_details_is_none() { fn test_season_details_handler_is_not_ready_when_not_loading_and_season_details_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
let handler = SeasonDetailsHandler::new( let handler = SeasonDetailsHandler::new(
@@ -901,7 +901,7 @@ mod tests {
#[test] #[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_episodes_table_is_empty() { fn test_season_details_handler_is_not_ready_when_not_loading_and_episodes_table_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default()); app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonDetails.into());
@@ -917,7 +917,7 @@ mod tests {
#[test] #[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_history_table_is_empty() { fn test_season_details_handler_is_not_ready_when_not_loading_and_history_table_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default()); app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into()); app.push_navigation_stack(ActiveSonarrBlock::SeasonHistory.into());
@@ -933,7 +933,7 @@ mod tests {
#[test] #[test]
fn test_season_details_handler_is_not_ready_when_not_loading_and_releases_table_is_empty() { fn test_season_details_handler_is_not_ready_when_not_loading_and_releases_table_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default()); app.data.sonarr_data.season_details_modal = Some(SeasonDetailsModal::default());
app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into()); app.push_navigation_stack(ActiveSonarrBlock::ManualSeasonSearch.into());
@@ -956,7 +956,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -30,7 +30,7 @@ mod tests {
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
#[values(Key::Left, Key::Right)] key: Key, #[values(Key::Left, Key::Right)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
SeriesDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle(); SeriesDetailsHandler::new(key, &mut app, active_sonarr_block, None).handle();
@@ -50,7 +50,7 @@ mod tests {
#[case] right_block: ActiveSonarrBlock, #[case] right_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(right_block.into()); app.push_navigation_stack(right_block.into());
@@ -93,7 +93,7 @@ mod tests {
#[test] #[test]
fn test_series_details_submit() { fn test_series_details_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -111,7 +111,7 @@ mod tests {
#[test] #[test]
fn test_series_details_submit_no_op_on_empty_seasons_table() { fn test_series_details_submit_no_op_on_empty_seasons_table() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
SeriesDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::SeriesDetails, None) SeriesDetailsHandler::new(SUBMIT_KEY, &mut app, ActiveSonarrBlock::SeriesDetails, None)
@@ -125,7 +125,7 @@ mod tests {
#[test] #[test]
fn test_series_details_submit_no_op_when_not_ready() { fn test_series_details_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -137,7 +137,7 @@ mod tests {
#[test] #[test]
fn test_series_history_submit() { fn test_series_history_submit() {
let mut app = App::default(); let mut app = App::test_default();
let mut series_history = StatefulTable::default(); let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]); series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history); app.data.sonarr_data.series_history = Some(series_history);
@@ -153,7 +153,7 @@ mod tests {
#[test] #[test]
fn test_series_history_submit_no_op_when_series_history_is_empty() { fn test_series_history_submit_no_op_when_series_history_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesHistory.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesHistory.into());
app.data.sonarr_data.series_history = Some(StatefulTable::default()); app.data.sonarr_data.series_history = Some(StatefulTable::default());
@@ -168,7 +168,7 @@ mod tests {
#[test] #[test]
fn test_series_history_submit_no_op_when_not_ready() { fn test_series_history_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
@@ -191,7 +191,7 @@ mod tests {
#[case] prompt_block: ActiveSonarrBlock, #[case] prompt_block: ActiveSonarrBlock,
#[case] expected_action: SonarrEvent, #[case] expected_action: SonarrEvent,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.data.sonarr_data.series.set_items(vec![series()]); app.data.sonarr_data.series.set_items(vec![series()]);
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
@@ -218,7 +218,7 @@ mod tests {
)] )]
prompt_block: ActiveSonarrBlock, prompt_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.push_navigation_stack(prompt_block.into()); app.push_navigation_stack(prompt_block.into());
@@ -243,7 +243,7 @@ mod tests {
#[test] #[test]
fn test_series_history_details_block_esc() { fn test_series_history_details_block_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SeriesHistory.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesHistory.into());
app.push_navigation_stack(ActiveSonarrBlock::SeriesHistoryDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesHistoryDetails.into());
@@ -270,7 +270,7 @@ mod tests {
prompt_block: ActiveSonarrBlock, prompt_block: ActiveSonarrBlock,
#[values(true, false)] is_ready: bool, #[values(true, false)] is_ready: bool,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
@@ -287,7 +287,7 @@ mod tests {
#[test] #[test]
fn test_series_history_esc_resets_filter_if_one_is_set_instead_of_closing_the_window() { fn test_series_history_esc_resets_filter_if_one_is_set_instead_of_closing_the_window() {
let mut app = App::default(); let mut app = App::test_default();
let series_history = StatefulTable { let series_history = StatefulTable {
filter: Some("Test".into()), filter: Some("Test".into()),
filtered_items: Some(vec![SonarrHistoryItem::default()]), filtered_items: Some(vec![SonarrHistoryItem::default()]),
@@ -359,7 +359,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -377,7 +377,7 @@ mod tests {
#[test] #[test]
fn test_toggle_monitoring_key() { fn test_toggle_monitoring_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data = create_test_sonarr_data(); app.data.sonarr_data = create_test_sonarr_data();
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.is_routing = false; app.is_routing = false;
@@ -404,7 +404,7 @@ mod tests {
#[test] #[test]
fn test_toggle_monitoring_key_no_op_when_not_ready() { fn test_toggle_monitoring_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into()); app.push_navigation_stack(ActiveSonarrBlock::SeriesDetails.into());
app.is_routing = false; app.is_routing = false;
@@ -431,7 +431,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut series_history = StatefulTable::default(); let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]); series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history); app.data.sonarr_data.series_history = Some(series_history);
@@ -456,7 +456,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -476,7 +476,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut series_history = StatefulTable::default(); let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]); series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history); app.data.sonarr_data.series_history = Some(series_history);
@@ -501,7 +501,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -521,7 +521,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
let mut series_history = StatefulTable::default(); let mut series_history = StatefulTable::default();
series_history.set_items(vec![SonarrHistoryItem::default()]); series_history.set_items(vec![SonarrHistoryItem::default()]);
app.data.sonarr_data.series_history = Some(series_history); app.data.sonarr_data.series_history = Some(series_history);
@@ -545,7 +545,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
app.is_routing = false; app.is_routing = false;
@@ -577,7 +577,7 @@ mod tests {
#[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)] #[values(ActiveSonarrBlock::SeriesDetails, ActiveSonarrBlock::SeriesHistory)]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app.data.sonarr_data.series.set_items(vec![series()]); app.data.sonarr_data.series.set_items(vec![series()]);
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -613,7 +613,7 @@ mod tests {
#[test] #[test]
fn test_extract_series_id_season_number_tuple() { fn test_extract_series_id_season_number_tuple() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![series()]); app.data.sonarr_data.series.set_items(vec![series()]);
app.data.sonarr_data.seasons.set_items(vec![season()]); app.data.sonarr_data.seasons.set_items(vec![season()]);
@@ -630,7 +630,7 @@ mod tests {
#[test] #[test]
fn test_extract_series_id() { fn test_extract_series_id() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.series.set_items(vec![series()]); app.data.sonarr_data.series.set_items(vec![series()]);
let series_id = SeriesDetailsHandler::new( let series_id = SeriesDetailsHandler::new(
@@ -646,7 +646,7 @@ mod tests {
#[test] #[test]
fn test_series_details_handler_is_not_ready_when_loading() { fn test_series_details_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.is_loading = true; app.is_loading = true;
@@ -662,7 +662,7 @@ mod tests {
#[test] #[test]
fn test_series_details_handler_is_not_ready_when_not_loading_and_series_history_is_none() { fn test_series_details_handler_is_not_ready_when_not_loading_and_series_history_is_none() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let handler = SeriesDetailsHandler::new( let handler = SeriesDetailsHandler::new(
@@ -677,7 +677,7 @@ mod tests {
#[test] #[test]
fn test_series_details_handler_ready_when_not_loading_and_series_history_is_some() { fn test_series_details_handler_ready_when_not_loading_and_series_history_is_some() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
app.data.sonarr_data.series_history = Some(StatefulTable::default()); app.data.sonarr_data.series_history = Some(StatefulTable::default());
@@ -693,7 +693,7 @@ mod tests {
#[test] #[test]
fn test_series_details_handler_ready_when_not_loading_for_series_details() { fn test_series_details_handler_ready_when_not_loading_for_series_details() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::Series.into()); app.push_navigation_stack(ActiveSonarrBlock::Series.into());
let handler = SeriesDetailsHandler::new( let handler = SeriesDetailsHandler::new(
@@ -22,7 +22,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_home_end_keys() { fn test_add_root_folder_prompt_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.push_navigation_stack(ActiveSonarrBlock::AddRootFolderPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AddRootFolderPrompt.into());
app app
@@ -83,7 +83,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt() { fn test_delete_root_folder_prompt() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app app
.data .data
@@ -101,7 +101,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_no_op_when_not_ready() { fn test_delete_root_folder_prompt_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app app
@@ -129,7 +129,7 @@ mod tests {
#[rstest] #[rstest]
fn test_root_folders_tab_left(#[values(true, false)] is_ready: bool) { fn test_root_folders_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(4); app.data.sonarr_data.main_tabs.set_index(4);
@@ -151,7 +151,7 @@ mod tests {
#[rstest] #[rstest]
fn test_root_folders_tab_right(#[values(true, false)] is_ready: bool) { fn test_root_folders_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(4); app.data.sonarr_data.main_tabs.set_index(4);
@@ -175,7 +175,7 @@ mod tests {
fn test_left_right_delete_root_folder_prompt_toggle( fn test_left_right_delete_root_folder_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
RootFoldersHandler::new( RootFoldersHandler::new(
@@ -201,7 +201,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_left_right_keys() { fn test_add_root_folder_prompt_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.data.sonarr_data.edit_root_folder = Some("Test".into()); app.data.sonarr_data.edit_root_folder = Some("Test".into());
@@ -258,7 +258,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_confirm_submit() { fn test_add_root_folder_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
let expected_add_root_folder_body = AddRootFolderBody { let expected_add_root_folder_body = AddRootFolderBody {
path: "Test".to_owned(), path: "Test".to_owned(),
}; };
@@ -296,7 +296,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_confirm_submit_noop_on_empty_folder() { fn test_add_root_folder_prompt_confirm_submit_noop_on_empty_folder() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.edit_root_folder = Some(HorizontallyScrollableText::default()); app.data.sonarr_data.edit_root_folder = Some(HorizontallyScrollableText::default());
app.data.sonarr_data.prompt_confirm = false; app.data.sonarr_data.prompt_confirm = false;
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
@@ -322,7 +322,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_confirm_submit() { fn test_delete_root_folder_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -353,7 +353,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_decline_submit() { fn test_delete_root_folder_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -388,7 +388,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_block_esc() { fn test_delete_root_folder_prompt_block_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.push_navigation_stack(ActiveSonarrBlock::DeleteRootFolderPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::DeleteRootFolderPrompt.into());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -410,7 +410,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_esc() { fn test_add_root_folder_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.push_navigation_stack(ActiveSonarrBlock::AddRootFolderPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::AddRootFolderPrompt.into());
app.data.sonarr_data.edit_root_folder = Some("/nfs/test".into()); app.data.sonarr_data.edit_root_folder = Some("/nfs/test".into());
@@ -436,7 +436,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_ready: bool) { fn test_default_esc(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
@@ -461,7 +461,7 @@ mod tests {
#[test] #[test]
fn test_root_folder_add() { fn test_root_folder_add() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app app
.data .data
@@ -487,7 +487,7 @@ mod tests {
#[test] #[test]
fn test_root_folder_add_no_op_when_not_ready() { fn test_root_folder_add_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app app
@@ -514,7 +514,7 @@ mod tests {
#[test] #[test]
fn test_refresh_root_folders_key() { fn test_refresh_root_folders_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -539,7 +539,7 @@ mod tests {
#[test] #[test]
fn test_refresh_root_folders_key_no_op_when_not_ready() { fn test_refresh_root_folders_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -565,7 +565,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_backspace_key() { fn test_add_root_folder_prompt_backspace_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app app
.data .data
@@ -590,7 +590,7 @@ mod tests {
#[test] #[test]
fn test_add_root_folder_prompt_char_key() { fn test_add_root_folder_prompt_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app app
.data .data
@@ -615,7 +615,7 @@ mod tests {
#[test] #[test]
fn test_delete_root_folder_prompt_confirm() { fn test_delete_root_folder_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -657,7 +657,7 @@ mod tests {
#[test] #[test]
fn test_extract_root_folder_id() { fn test_extract_root_folder_id() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -677,7 +677,7 @@ mod tests {
#[test] #[test]
fn test_build_add_root_folder_body() { fn test_build_add_root_folder_body() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.edit_root_folder = Some("/nfs/test".into()); app.data.sonarr_data.edit_root_folder = Some("/nfs/test".into());
let expected_add_root_folder_body = AddRootFolderBody { let expected_add_root_folder_body = AddRootFolderBody {
path: "/nfs/test".to_owned(), path: "/nfs/test".to_owned(),
@@ -697,7 +697,7 @@ mod tests {
#[test] #[test]
fn test_root_folders_handler_not_ready_when_loading() { fn test_root_folders_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.is_loading = true; app.is_loading = true;
@@ -713,7 +713,7 @@ mod tests {
#[test] #[test]
fn test_root_folders_handler_not_ready_when_root_folders_is_empty() { fn test_root_folders_handler_not_ready_when_root_folders_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.is_loading = false; app.is_loading = false;
@@ -729,7 +729,7 @@ mod tests {
#[test] #[test]
fn test_root_folders_handler_ready_when_not_loading_and_root_folders_is_not_empty() { fn test_root_folders_handler_ready_when_not_loading_and_root_folders_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into()); app.push_navigation_stack(ActiveSonarrBlock::RootFolders.into());
app.is_loading = false; app.is_loading = false;
@@ -16,7 +16,7 @@ pub(in crate::handlers::sonarr_handlers) mod utils {
#[macro_export] #[macro_export]
macro_rules! test_edit_series_key { macro_rules! test_edit_series_key {
($handler:ident, $block:expr, $context:expr) => { ($handler:ident, $block:expr, $context:expr) => {
let mut app = App::default(); let mut app = App::test_default();
let mut sonarr_data = SonarrData { let mut sonarr_data = SonarrData {
quality_profile_map: bimap::BiMap::from_iter([ quality_profile_map: bimap::BiMap::from_iter([
(2222, "HD - 1080p".to_owned()), (2222, "HD - 1080p".to_owned()),
@@ -23,7 +23,7 @@ mod tests {
#[case] left_block: ActiveSonarrBlock, #[case] left_block: ActiveSonarrBlock,
#[case] right_block: ActiveSonarrBlock, #[case] right_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.main_tabs.set_index(index); app.data.sonarr_data.main_tabs.set_index(index);
handle_change_tab_left_right_keys(&mut app, DEFAULT_KEYBINDINGS.left.key); handle_change_tab_left_right_keys(&mut app, DEFAULT_KEYBINDINGS.left.key);
@@ -39,7 +39,7 @@ mod tests {
fn test_log_details_scroll_no_op_when_not_ready( fn test_log_details_scroll_no_op_when_not_ready(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app app
@@ -71,7 +71,7 @@ mod tests {
fn test_tasks_scroll( fn test_tasks_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
app app
@@ -99,7 +99,7 @@ mod tests {
fn test_tasks_scroll_no_op_when_not_ready( fn test_tasks_scroll_no_op_when_not_ready(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -128,7 +128,7 @@ mod tests {
fn test_queued_events_scroll( fn test_queued_events_scroll(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
app app
@@ -158,7 +158,7 @@ mod tests {
fn test_queued_events_scroll_no_op_when_not_ready( fn test_queued_events_scroll_no_op_when_not_ready(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -187,7 +187,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_scroll() { fn test_system_updates_scroll() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -214,7 +214,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_scroll_no_op_when_not_ready() { fn test_system_updates_scroll_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -261,7 +261,7 @@ mod tests {
#[test] #[test]
fn test_log_details_home_end_no_op_when_not_ready() { fn test_log_details_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app app
@@ -303,7 +303,7 @@ mod tests {
#[test] #[test]
fn test_tasks_home_end() { fn test_tasks_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = app.data.sonarr_data.updates =
ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned()); ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned());
@@ -342,7 +342,7 @@ mod tests {
#[test] #[test]
fn test_tasks_home_end_no_op_when_not_ready() { fn test_tasks_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.updates = app.data.sonarr_data.updates =
@@ -382,7 +382,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_home_end() { fn test_queued_events_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = app.data.sonarr_data.updates =
ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned()); ScrollableText::with_string("Test 1\nTest 2\nTest 3".to_owned());
@@ -421,7 +421,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_home_end_no_op_when_not_ready() { fn test_queued_events_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.updates = app.data.sonarr_data.updates =
@@ -461,7 +461,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_home_end() { fn test_system_updates_home_end() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -488,7 +488,7 @@ mod tests {
#[test] #[test]
fn test_system_updates_home_end_no_op_when_not_ready() { fn test_system_updates_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test 1\nTest 2".to_owned());
@@ -524,7 +524,7 @@ mod tests {
#[test] #[test]
fn test_handle_log_details_left_right() { fn test_handle_log_details_left_right() {
let active_sonarr_block = ActiveSonarrBlock::SystemLogs; let active_sonarr_block = ActiveSonarrBlock::SystemLogs;
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app app
.data .data
@@ -625,7 +625,7 @@ mod tests {
fn test_left_right_prompt_toggle( fn test_left_right_prompt_toggle(
#[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.left.key, DEFAULT_KEYBINDINGS.right.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
SystemDetailsHandler::new( SystemDetailsHandler::new(
@@ -661,7 +661,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_submit() { fn test_system_tasks_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
@@ -676,7 +676,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_submit_no_op_when_not_ready() { fn test_system_tasks_submit_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
@@ -692,7 +692,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_confirm_submit() { fn test_system_tasks_start_task_prompt_confirm_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
app app
@@ -724,7 +724,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_decline_submit() { fn test_system_tasks_start_task_prompt_decline_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into());
app.push_navigation_stack(ActiveSonarrBlock::SystemTaskStartConfirmPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemTaskStartConfirmPrompt.into());
@@ -757,7 +757,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_logs(#[values(true, false)] is_ready: bool) { fn test_esc_system_logs(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app app
.data .data
@@ -780,7 +780,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_tasks(#[values(true, false)] is_ready: bool) { fn test_esc_system_tasks(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into());
@@ -797,7 +797,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_queued_events(#[values(true, false)] is_ready: bool) { fn test_esc_system_queued_events(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.push_navigation_stack(ActiveSonarrBlock::SystemQueuedEvents.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemQueuedEvents.into());
@@ -820,7 +820,7 @@ mod tests {
#[rstest] #[rstest]
fn test_esc_system_updates(#[values(true, false)] is_ready: bool) { fn test_esc_system_updates(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_ready; app.is_loading = is_ready;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.push_navigation_stack(ActiveSonarrBlock::SystemUpdates.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemUpdates.into());
@@ -832,7 +832,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_esc() { fn test_system_tasks_start_task_prompt_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemTasks.into());
app.push_navigation_stack(ActiveSonarrBlock::SystemTaskStartConfirmPrompt.into()); app.push_navigation_stack(ActiveSonarrBlock::SystemTaskStartConfirmPrompt.into());
app.data.sonarr_data.prompt_confirm = true; app.data.sonarr_data.prompt_confirm = true;
@@ -871,7 +871,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
app.push_navigation_stack(active_sonarr_block.into()); app.push_navigation_stack(active_sonarr_block.into());
@@ -898,7 +898,7 @@ mod tests {
)] )]
active_sonarr_block: ActiveSonarrBlock, active_sonarr_block: ActiveSonarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
@@ -918,7 +918,7 @@ mod tests {
#[test] #[test]
fn test_system_tasks_start_task_prompt_confirm() { fn test_system_tasks_start_task_prompt_confirm() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
app app
@@ -962,7 +962,7 @@ mod tests {
#[test] #[test]
fn test_extract_task_name() { fn test_extract_task_name() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.sonarr_data .sonarr_data
@@ -982,7 +982,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_not_ready_when_loading() { fn test_system_details_handler_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
@@ -998,7 +998,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_not_ready_when_log_details_and_updates_and_tasks_are_empty() { fn test_system_details_handler_not_ready_when_log_details_and_updates_and_tasks_are_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
@@ -1014,7 +1014,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_ready_when_not_loading_and_log_details_is_not_empty() { fn test_system_details_handler_ready_when_not_loading_and_log_details_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
app app
@@ -1035,7 +1035,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_ready_when_not_loading_and_tasks_is_not_empty() { fn test_system_details_handler_ready_when_not_loading_and_tasks_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
app app
@@ -1056,7 +1056,7 @@ mod tests {
#[test] #[test]
fn test_system_details_handler_ready_when_not_loading_and_updates_is_not_empty() { fn test_system_details_handler_ready_when_not_loading_and_updates_is_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned()); app.data.sonarr_data.updates = ScrollableText::with_string("Test".to_owned());
@@ -22,7 +22,7 @@ mod tests {
#[rstest] #[rstest]
fn test_system_tab_left(#[values(true, false)] is_ready: bool) { fn test_system_tab_left(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(6); app.data.sonarr_data.main_tabs.set_index(6);
@@ -44,7 +44,7 @@ mod tests {
#[rstest] #[rstest]
fn test_system_tab_right(#[values(true, false)] is_ready: bool) { fn test_system_tab_right(#[values(true, false)] is_ready: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = is_ready; app.is_loading = is_ready;
app.data.sonarr_data.main_tabs.set_index(6); app.data.sonarr_data.main_tabs.set_index(6);
@@ -74,7 +74,7 @@ mod tests {
#[rstest] #[rstest]
fn test_default_esc(#[values(true, false)] is_loading: bool) { fn test_default_esc(#[values(true, false)] is_loading: bool) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = is_loading; app.is_loading = is_loading;
app.error = "test error".to_owned().into(); app.error = "test error".to_owned().into();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
@@ -96,7 +96,7 @@ mod tests {
#[test] #[test]
fn test_update_system_key() { fn test_update_system_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
@@ -129,7 +129,7 @@ mod tests {
#[test] #[test]
fn test_update_system_key_no_op_if_not_ready() { fn test_update_system_key_no_op_if_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
@@ -160,7 +160,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_key() { fn test_queued_events_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
@@ -193,7 +193,7 @@ mod tests {
#[test] #[test]
fn test_queued_events_key_no_op_if_not_ready() { fn test_queued_events_key_no_op_if_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
@@ -224,7 +224,7 @@ mod tests {
#[test] #[test]
fn test_refresh_system_key() { fn test_refresh_system_key() {
let mut app = App::default(); let mut app = App::test_default();
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
HorizontallyScrollableText::from("test 2"), HorizontallyScrollableText::from("test 2"),
@@ -255,7 +255,7 @@ mod tests {
#[test] #[test]
fn test_refresh_system_key_no_op_if_not_ready() { fn test_refresh_system_key_no_op_if_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
@@ -288,7 +288,7 @@ mod tests {
#[test] #[test]
fn test_logs_key() { fn test_logs_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
@@ -329,7 +329,7 @@ mod tests {
#[test] #[test]
fn test_logs_key_no_op_when_not_ready() { fn test_logs_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
@@ -361,7 +361,7 @@ mod tests {
#[test] #[test]
fn test_tasks_key() { fn test_tasks_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
HorizontallyScrollableText::from("test 1"), HorizontallyScrollableText::from("test 1"),
@@ -394,7 +394,7 @@ mod tests {
#[test] #[test]
fn test_tasks_key_no_op_when_not_ready() { fn test_tasks_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.data.sonarr_data.logs.set_items(vec![ app.data.sonarr_data.logs.set_items(vec![
@@ -458,7 +458,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_loading() { fn test_system_handler_is_not_ready_when_loading() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = true; app.is_loading = true;
@@ -474,7 +474,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_logs_is_empty() { fn test_system_handler_is_not_ready_when_logs_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
app app
@@ -500,7 +500,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_tasks_is_empty() { fn test_system_handler_is_not_ready_when_tasks_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.logs.set_items(vec!["test".into()]); app.data.sonarr_data.logs.set_items(vec!["test".into()]);
@@ -522,7 +522,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_not_ready_when_queued_events_is_empty() { fn test_system_handler_is_not_ready_when_queued_events_is_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.logs.set_items(vec!["test".into()]); app.data.sonarr_data.logs.set_items(vec!["test".into()]);
@@ -544,7 +544,7 @@ mod tests {
#[test] #[test]
fn test_system_handler_is_ready_when_all_required_tables_are_not_empty() { fn test_system_handler_is_ready_when_all_required_tables_are_not_empty() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveSonarrBlock::System.into()); app.push_navigation_stack(ActiveSonarrBlock::System.into());
app.is_loading = false; app.is_loading = false;
app.data.sonarr_data.logs.set_items(vec!["test".into()]); app.data.sonarr_data.logs.set_items(vec!["test".into()]);
+31 -31
View File
@@ -115,7 +115,7 @@ mod tests {
fn test_table_scroll_no_op_when_not_ready( fn test_table_scroll_no_op_when_not_ready(
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -158,7 +158,7 @@ mod tests {
#[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key, #[values(DEFAULT_KEYBINDINGS.up.key, DEFAULT_KEYBINDINGS.down.key)] key: Key,
) { ) {
let movie_field_vec = sort_options(); let movie_field_vec = sort_options();
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movies.sorting(sort_options()); app.data.radarr_data.movies.sorting(sort_options());
if key == Key::Up { if key == Key::Up {
@@ -219,7 +219,7 @@ mod tests {
#[test] #[test]
fn test_table_home_end_no_op_when_not_ready() { fn test_table_home_end_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app app
.data .data
@@ -271,7 +271,7 @@ mod tests {
#[test] #[test]
fn test_movie_search_box_home_end_keys() { fn test_movie_search_box_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into()); app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into());
app app
.data .data
@@ -325,7 +325,7 @@ mod tests {
#[test] #[test]
fn test_movie_filter_box_home_end_keys() { fn test_movie_filter_box_home_end_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into()); app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into());
app app
.data .data
@@ -380,7 +380,7 @@ mod tests {
#[test] #[test]
fn test_table_sort_home_end() { fn test_table_sort_home_end() {
let movie_field_vec = sort_options(); let movie_field_vec = sort_options();
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movies.sorting(sort_options()); app.data.radarr_data.movies.sorting(sort_options());
TableHandlerUnit::new( TableHandlerUnit::new(
@@ -433,7 +433,7 @@ mod tests {
#[test] #[test]
fn test_movie_search_box_left_right_keys() { fn test_movie_search_box_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into()); app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into());
app app
.data .data
@@ -487,7 +487,7 @@ mod tests {
#[test] #[test]
fn test_movie_filter_box_left_right_keys() { fn test_movie_filter_box_left_right_keys() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into()); app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into());
app app
.data .data
@@ -552,7 +552,7 @@ mod tests {
#[test] #[test]
fn test_search_movie_submit() { fn test_search_movie_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into()); app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into());
app app
@@ -576,7 +576,7 @@ mod tests {
#[test] #[test]
fn test_search_movie_submit_error_on_no_search_hits() { fn test_search_movie_submit_error_on_no_search_hits() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into()); app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into());
app app
@@ -603,7 +603,7 @@ mod tests {
#[test] #[test]
fn test_search_filtered_table_submit() { fn test_search_filtered_table_submit() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -632,7 +632,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_submit() { fn test_filter_table_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into()); app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into());
app app
@@ -669,7 +669,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_submit_error_on_no_filter_matches() { fn test_filter_table_submit_error_on_no_filter_matches() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into()); app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into());
app app
@@ -694,7 +694,7 @@ mod tests {
#[test] #[test]
fn test_table_sort_prompt_submit() { fn test_table_sort_prompt_submit() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movies.sort_asc = true; app.data.radarr_data.movies.sort_asc = true;
app.data.radarr_data.movies.sorting(sort_options()); app.data.radarr_data.movies.sorting(sort_options());
app.data.radarr_data.movies.set_items(movies_vec()); app.data.radarr_data.movies.set_items(movies_vec());
@@ -734,7 +734,7 @@ mod tests {
#[values(ActiveRadarrBlock::SearchMovie, ActiveRadarrBlock::SearchMovieError)] #[values(ActiveRadarrBlock::SearchMovie, ActiveRadarrBlock::SearchMovieError)]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -753,7 +753,7 @@ mod tests {
#[values(ActiveRadarrBlock::FilterMovies, ActiveRadarrBlock::FilterMoviesError)] #[values(ActiveRadarrBlock::FilterMovies, ActiveRadarrBlock::FilterMoviesError)]
active_radarr_block: ActiveRadarrBlock, active_radarr_block: ActiveRadarrBlock,
) { ) {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(active_radarr_block.into()); app.push_navigation_stack(active_radarr_block.into());
@@ -781,7 +781,7 @@ mod tests {
#[test] #[test]
fn test_table_sort_prompt_block_esc() { fn test_table_sort_prompt_block_esc() {
let mut app = App::default(); let mut app = App::test_default();
app.data.radarr_data.movies.set_items(movies_vec()); app.data.radarr_data.movies.set_items(movies_vec());
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.push_navigation_stack(ActiveRadarrBlock::MoviesSortPrompt.into()); app.push_navigation_stack(ActiveRadarrBlock::MoviesSortPrompt.into());
@@ -801,7 +801,7 @@ mod tests {
#[test] #[test]
fn test_search_table_key() { fn test_search_table_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -829,7 +829,7 @@ mod tests {
#[test] #[test]
fn test_search_table_key_no_op_when_not_ready() { fn test_search_table_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -853,7 +853,7 @@ mod tests {
#[test] #[test]
fn test_search_table_key_no_op_when_search_table_block_is_not_defined() { fn test_search_table_key_no_op_when_search_table_block_is_not_defined() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -875,7 +875,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_key() { fn test_filter_table_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -900,7 +900,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_key_no_op_when_not_ready() { fn test_filter_table_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -924,7 +924,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_key_resets_previous_filter() { fn test_filter_table_key_resets_previous_filter() {
let mut app = App::default(); let mut app = App::test_default();
app.should_ignore_quit_key = true; app.should_ignore_quit_key = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app.data.radarr_data = create_test_radarr_data(); app.data.radarr_data = create_test_radarr_data();
@@ -958,7 +958,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_key_no_op_when_filter_table_block_is_not_defined() { fn test_filter_table_key_no_op_when_filter_table_block_is_not_defined() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -980,7 +980,7 @@ mod tests {
#[test] #[test]
fn test_search_table_box_backspace_key() { fn test_search_table_box_backspace_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into()); app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into());
app.data.radarr_data.movies.search = Some("Test".into()); app.data.radarr_data.movies.search = Some("Test".into());
app app
@@ -1005,7 +1005,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_box_backspace_key() { fn test_filter_table_box_backspace_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into()); app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into());
app app
.data .data
@@ -1030,7 +1030,7 @@ mod tests {
#[test] #[test]
fn test_search_table_box_char_key() { fn test_search_table_box_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into()); app.push_navigation_stack(ActiveRadarrBlock::SearchMovie.into());
app app
.data .data
@@ -1055,7 +1055,7 @@ mod tests {
#[test] #[test]
fn test_filter_table_box_char_key() { fn test_filter_table_box_char_key() {
let mut app = App::default(); let mut app = App::test_default();
app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into()); app.push_navigation_stack(ActiveRadarrBlock::FilterMovies.into());
app app
.data .data
@@ -1080,7 +1080,7 @@ mod tests {
#[test] #[test]
fn test_sort_key() { fn test_sort_key() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
@@ -1108,7 +1108,7 @@ mod tests {
#[test] #[test]
fn test_sort_key_no_op_when_not_ready() { fn test_sort_key_no_op_when_not_ready() {
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
app.push_navigation_stack(ActiveRadarrBlock::Movies.into()); app.push_navigation_stack(ActiveRadarrBlock::Movies.into());
app app
@@ -1131,7 +1131,7 @@ mod tests {
#[test] #[test]
fn test_sort_key_no_op_when_sort_table_block_is_undefined() { fn test_sort_key_no_op_when_sort_table_block_is_undefined() {
let mut app = App::default(); let mut app = App::test_default();
app app
.data .data
.radarr_data .radarr_data
-2
View File
@@ -1,5 +1,3 @@
#![warn(rust_2021_compatibility)]
use anyhow::Result; use anyhow::Result;
use std::panic::PanicHookInfo; use std::panic::PanicHookInfo;
use std::path::PathBuf; use std::path::PathBuf;
+4
View File
@@ -297,6 +297,10 @@ impl TabState {
} }
pub fn get_active_config(&self) -> &Option<ServarrConfig> { pub fn get_active_config(&self) -> &Option<ServarrConfig> {
if self.tabs.is_empty() {
return &None;
}
&self.tabs[self.index].config &self.tabs[self.index].config
} }
+30 -3
View File
@@ -9,7 +9,7 @@ mod tests {
use serde::de::value::I64Deserializer; use serde::de::value::I64Deserializer;
use serde::de::IntoDeserializer; use serde::de::IntoDeserializer;
use serde_json::to_string; use serde_json::to_string;
use crate::app::ServarrConfig;
use crate::models::from_f64; use crate::models::from_f64;
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock; use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
use crate::models::{from_i64, strip_non_search_characters}; use crate::models::{from_i64, strip_non_search_characters};
@@ -512,6 +512,31 @@ mod tests {
assert_eq!(active_route, second_tab); assert_eq!(active_route, second_tab);
} }
#[test]
fn test_tab_state_get_active_config() {
let mut tabs = create_test_tab_routes();
tabs[1].config = Some(ServarrConfig {
name: Some("Test".to_owned()),
..ServarrConfig::default()
});
let tab_state = TabState { tabs, index: 1 };
let active_config = tab_state.get_active_config();
assert!(active_config.is_some());
assert_str_eq!(active_config.clone().unwrap().name.unwrap(), "Test");
}
#[test]
fn test_tab_state_get_active_config_defaults_to_none() {
let tabs = create_test_tab_routes();
let tab_state = TabState { tabs, index: 1 };
let active_config = tab_state.get_active_config();
assert!(active_config.is_none());
}
#[test] #[test]
fn test_tab_state_get_active_tab_help() { fn test_tab_state_get_active_tab_help() {
@@ -718,16 +743,18 @@ mod tests {
fn create_test_tab_routes() -> Vec<TabRoute> { fn create_test_tab_routes() -> Vec<TabRoute> {
vec![ vec![
TabRoute { TabRoute {
title: "Test 1", title: "Test 1".to_owned(),
route: ActiveRadarrBlock::Movies.into(), route: ActiveRadarrBlock::Movies.into(),
help: "Help for Test 1".to_owned(), help: "Help for Test 1".to_owned(),
contextual_help: Some("Contextual Help for Test 1".to_owned()), contextual_help: Some("Contextual Help for Test 1".to_owned()),
config: None,
}, },
TabRoute { TabRoute {
title: "Test 2", title: "Test 2".to_owned(),
route: ActiveRadarrBlock::Collections.into(), route: ActiveRadarrBlock::Collections.into(),
help: "Help for Test 2".to_owned(), help: "Help for Test 2".to_owned(),
contextual_help: Some("Contextual Help for Test 2".to_owned()), contextual_help: Some("Contextual Help for Test 2".to_owned()),
config: None,
}, },
] ]
} }
@@ -112,6 +112,7 @@ mod tests {
radarr_data.main_tabs.tabs[0].contextual_help, radarr_data.main_tabs.tabs[0].contextual_help,
Some(build_context_clue_string(&LIBRARY_CONTEXT_CLUES)) Some(build_context_clue_string(&LIBRARY_CONTEXT_CLUES))
); );
assert_eq!(radarr_data.main_tabs.tabs[0].config, None);
assert_str_eq!(radarr_data.main_tabs.tabs[1].title, "Collections"); assert_str_eq!(radarr_data.main_tabs.tabs[1].title, "Collections");
assert_eq!( assert_eq!(
@@ -123,6 +124,7 @@ mod tests {
radarr_data.main_tabs.tabs[1].contextual_help, radarr_data.main_tabs.tabs[1].contextual_help,
Some(build_context_clue_string(&COLLECTIONS_CONTEXT_CLUES)) Some(build_context_clue_string(&COLLECTIONS_CONTEXT_CLUES))
); );
assert_eq!(radarr_data.main_tabs.tabs[1].config, None);
assert_str_eq!(radarr_data.main_tabs.tabs[2].title, "Downloads"); assert_str_eq!(radarr_data.main_tabs.tabs[2].title, "Downloads");
assert_eq!( assert_eq!(
@@ -134,6 +136,7 @@ mod tests {
radarr_data.main_tabs.tabs[2].contextual_help, radarr_data.main_tabs.tabs[2].contextual_help,
Some(build_context_clue_string(&DOWNLOADS_CONTEXT_CLUES)) Some(build_context_clue_string(&DOWNLOADS_CONTEXT_CLUES))
); );
assert_eq!(radarr_data.main_tabs.tabs[2].config, None);
assert_str_eq!(radarr_data.main_tabs.tabs[3].title, "Blocklist"); assert_str_eq!(radarr_data.main_tabs.tabs[3].title, "Blocklist");
assert_eq!( assert_eq!(
@@ -145,6 +148,7 @@ mod tests {
radarr_data.main_tabs.tabs[3].contextual_help, radarr_data.main_tabs.tabs[3].contextual_help,
Some(build_context_clue_string(&BLOCKLIST_CONTEXT_CLUES)) Some(build_context_clue_string(&BLOCKLIST_CONTEXT_CLUES))
); );
assert_eq!(radarr_data.main_tabs.tabs[3].config, None);
assert_str_eq!(radarr_data.main_tabs.tabs[4].title, "Root Folders"); assert_str_eq!(radarr_data.main_tabs.tabs[4].title, "Root Folders");
assert_eq!( assert_eq!(
@@ -156,6 +160,7 @@ mod tests {
radarr_data.main_tabs.tabs[4].contextual_help, radarr_data.main_tabs.tabs[4].contextual_help,
Some(build_context_clue_string(&ROOT_FOLDERS_CONTEXT_CLUES)) Some(build_context_clue_string(&ROOT_FOLDERS_CONTEXT_CLUES))
); );
assert_eq!(radarr_data.main_tabs.tabs[4].config, None);
assert_str_eq!(radarr_data.main_tabs.tabs[5].title, "Indexers"); assert_str_eq!(radarr_data.main_tabs.tabs[5].title, "Indexers");
assert_eq!( assert_eq!(
@@ -167,6 +172,7 @@ mod tests {
radarr_data.main_tabs.tabs[5].contextual_help, radarr_data.main_tabs.tabs[5].contextual_help,
Some(build_context_clue_string(&INDEXERS_CONTEXT_CLUES)) Some(build_context_clue_string(&INDEXERS_CONTEXT_CLUES))
); );
assert_eq!(radarr_data.main_tabs.tabs[5].config, None);
assert_str_eq!(radarr_data.main_tabs.tabs[6].title, "System"); assert_str_eq!(radarr_data.main_tabs.tabs[6].title, "System");
assert_eq!( assert_eq!(
@@ -178,6 +184,7 @@ mod tests {
radarr_data.main_tabs.tabs[6].contextual_help, radarr_data.main_tabs.tabs[6].contextual_help,
Some(build_context_clue_string(&SYSTEM_CONTEXT_CLUES)) Some(build_context_clue_string(&SYSTEM_CONTEXT_CLUES))
); );
assert_eq!(radarr_data.main_tabs.tabs[6].config, None);
assert_eq!(radarr_data.movie_info_tabs.tabs.len(), 6); assert_eq!(radarr_data.movie_info_tabs.tabs.len(), 6);
@@ -193,6 +200,7 @@ mod tests {
assert!(radarr_data.movie_info_tabs.tabs[0] assert!(radarr_data.movie_info_tabs.tabs[0]
.contextual_help .contextual_help
.is_none()); .is_none());
assert_eq!(radarr_data.movie_info_tabs.tabs[0].config, None);
assert_str_eq!(radarr_data.movie_info_tabs.tabs[1].title, "History"); assert_str_eq!(radarr_data.movie_info_tabs.tabs[1].title, "History");
assert_eq!( assert_eq!(
@@ -206,6 +214,7 @@ mod tests {
assert!(radarr_data.movie_info_tabs.tabs[1] assert!(radarr_data.movie_info_tabs.tabs[1]
.contextual_help .contextual_help
.is_none()); .is_none());
assert_eq!(radarr_data.movie_info_tabs.tabs[1].config, None);
assert_str_eq!(radarr_data.movie_info_tabs.tabs[2].title, "File"); assert_str_eq!(radarr_data.movie_info_tabs.tabs[2].title, "File");
assert_eq!( assert_eq!(
@@ -219,6 +228,7 @@ mod tests {
assert!(radarr_data.movie_info_tabs.tabs[2] assert!(radarr_data.movie_info_tabs.tabs[2]
.contextual_help .contextual_help
.is_none()); .is_none());
assert_eq!(radarr_data.movie_info_tabs.tabs[2].config, None);
assert_str_eq!(radarr_data.movie_info_tabs.tabs[3].title, "Cast"); assert_str_eq!(radarr_data.movie_info_tabs.tabs[3].title, "Cast");
assert_eq!( assert_eq!(
@@ -232,6 +242,7 @@ mod tests {
assert!(radarr_data.movie_info_tabs.tabs[3] assert!(radarr_data.movie_info_tabs.tabs[3]
.contextual_help .contextual_help
.is_none()); .is_none());
assert_eq!(radarr_data.movie_info_tabs.tabs[3].config, None);
assert_str_eq!(radarr_data.movie_info_tabs.tabs[4].title, "Crew"); assert_str_eq!(radarr_data.movie_info_tabs.tabs[4].title, "Crew");
assert_eq!( assert_eq!(
@@ -245,6 +256,7 @@ mod tests {
assert!(radarr_data.movie_info_tabs.tabs[4] assert!(radarr_data.movie_info_tabs.tabs[4]
.contextual_help .contextual_help
.is_none()); .is_none());
assert_eq!(radarr_data.movie_info_tabs.tabs[4].config, None);
assert_str_eq!(radarr_data.movie_info_tabs.tabs[5].title, "Manual Search"); assert_str_eq!(radarr_data.movie_info_tabs.tabs[5].title, "Manual Search");
assert_eq!( assert_eq!(
@@ -261,6 +273,7 @@ mod tests {
&MANUAL_MOVIE_SEARCH_CONTEXTUAL_CONTEXT_CLUES &MANUAL_MOVIE_SEARCH_CONTEXTUAL_CONTEXT_CLUES
)) ))
); );
assert_eq!(radarr_data.movie_info_tabs.tabs[5].config, None);
} }
} }
@@ -264,6 +264,7 @@ mod tests {
assert!(episode_details_modal.episode_details_tabs.tabs[0] assert!(episode_details_modal.episode_details_tabs.tabs[0]
.contextual_help .contextual_help
.is_none()); .is_none());
assert_eq!(episode_details_modal.episode_details_tabs.tabs[0].config, None);
assert_str_eq!( assert_str_eq!(
episode_details_modal.episode_details_tabs.tabs[1].title, episode_details_modal.episode_details_tabs.tabs[1].title,
@@ -281,6 +282,7 @@ mod tests {
episode_details_modal.episode_details_tabs.tabs[1].contextual_help, episode_details_modal.episode_details_tabs.tabs[1].contextual_help,
Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)) Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES))
); );
assert_eq!(episode_details_modal.episode_details_tabs.tabs[1].config, None);
assert_str_eq!( assert_str_eq!(
episode_details_modal.episode_details_tabs.tabs[2].title, episode_details_modal.episode_details_tabs.tabs[2].title,
@@ -297,6 +299,7 @@ mod tests {
assert!(episode_details_modal.episode_details_tabs.tabs[2] assert!(episode_details_modal.episode_details_tabs.tabs[2]
.contextual_help .contextual_help
.is_none()); .is_none());
assert_eq!(episode_details_modal.episode_details_tabs.tabs[2].config, None);
assert_str_eq!( assert_str_eq!(
episode_details_modal.episode_details_tabs.tabs[3].title, episode_details_modal.episode_details_tabs.tabs[3].title,
@@ -314,6 +317,7 @@ mod tests {
episode_details_modal.episode_details_tabs.tabs[3].contextual_help, episode_details_modal.episode_details_tabs.tabs[3].contextual_help,
Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)) Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES))
); );
assert_eq!(episode_details_modal.episode_details_tabs.tabs[3].config, None);
} }
#[test] #[test]
@@ -346,6 +350,7 @@ mod tests {
&SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES &SEASON_DETAILS_CONTEXTUAL_CONTEXT_CLUES
)) ))
); );
assert_eq!(season_details_modal.season_details_tabs.tabs[0].config, None);
assert_str_eq!( assert_str_eq!(
season_details_modal.season_details_tabs.tabs[1].title, season_details_modal.season_details_tabs.tabs[1].title,
@@ -363,6 +368,7 @@ mod tests {
season_details_modal.season_details_tabs.tabs[1].contextual_help, season_details_modal.season_details_tabs.tabs[1].contextual_help,
Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)) Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES))
); );
assert_eq!(season_details_modal.season_details_tabs.tabs[1].config, None);
assert_str_eq!( assert_str_eq!(
season_details_modal.season_details_tabs.tabs[2].title, season_details_modal.season_details_tabs.tabs[2].title,
@@ -380,5 +386,6 @@ mod tests {
season_details_modal.season_details_tabs.tabs[2].contextual_help, season_details_modal.season_details_tabs.tabs[2].contextual_help,
Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES)) Some(build_context_clue_string(&DETAILS_CONTEXTUAL_CONTEXT_CLUES))
); );
assert_eq!(season_details_modal.season_details_tabs.tabs[2].config, None);
} }
} }
@@ -128,6 +128,7 @@ mod tests {
sonarr_data.main_tabs.tabs[0].contextual_help, sonarr_data.main_tabs.tabs[0].contextual_help,
Some(build_context_clue_string(&SERIES_CONTEXT_CLUES)) Some(build_context_clue_string(&SERIES_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.main_tabs.tabs[0].config, None);
assert_str_eq!(sonarr_data.main_tabs.tabs[1].title, "Downloads"); assert_str_eq!(sonarr_data.main_tabs.tabs[1].title, "Downloads");
assert_eq!( assert_eq!(
@@ -139,6 +140,7 @@ mod tests {
sonarr_data.main_tabs.tabs[1].contextual_help, sonarr_data.main_tabs.tabs[1].contextual_help,
Some(build_context_clue_string(&DOWNLOADS_CONTEXT_CLUES)) Some(build_context_clue_string(&DOWNLOADS_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.main_tabs.tabs[1].config, None);
assert_str_eq!(sonarr_data.main_tabs.tabs[2].title, "Blocklist"); assert_str_eq!(sonarr_data.main_tabs.tabs[2].title, "Blocklist");
assert_eq!( assert_eq!(
@@ -150,6 +152,7 @@ mod tests {
sonarr_data.main_tabs.tabs[2].contextual_help, sonarr_data.main_tabs.tabs[2].contextual_help,
Some(build_context_clue_string(&BLOCKLIST_CONTEXT_CLUES)) Some(build_context_clue_string(&BLOCKLIST_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.main_tabs.tabs[2].config, None);
assert_str_eq!(sonarr_data.main_tabs.tabs[3].title, "History"); assert_str_eq!(sonarr_data.main_tabs.tabs[3].title, "History");
assert_eq!( assert_eq!(
@@ -161,6 +164,7 @@ mod tests {
sonarr_data.main_tabs.tabs[3].contextual_help, sonarr_data.main_tabs.tabs[3].contextual_help,
Some(build_context_clue_string(&HISTORY_CONTEXT_CLUES)) Some(build_context_clue_string(&HISTORY_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.main_tabs.tabs[3].config, None);
assert_str_eq!(sonarr_data.main_tabs.tabs[4].title, "Root Folders"); assert_str_eq!(sonarr_data.main_tabs.tabs[4].title, "Root Folders");
assert_eq!( assert_eq!(
@@ -172,6 +176,7 @@ mod tests {
sonarr_data.main_tabs.tabs[4].contextual_help, sonarr_data.main_tabs.tabs[4].contextual_help,
Some(build_context_clue_string(&ROOT_FOLDERS_CONTEXT_CLUES)) Some(build_context_clue_string(&ROOT_FOLDERS_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.main_tabs.tabs[4].config, None);
assert_str_eq!(sonarr_data.main_tabs.tabs[5].title, "Indexers"); assert_str_eq!(sonarr_data.main_tabs.tabs[5].title, "Indexers");
assert_eq!( assert_eq!(
@@ -183,6 +188,7 @@ mod tests {
sonarr_data.main_tabs.tabs[5].contextual_help, sonarr_data.main_tabs.tabs[5].contextual_help,
Some(build_context_clue_string(&INDEXERS_CONTEXT_CLUES)) Some(build_context_clue_string(&INDEXERS_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.main_tabs.tabs[5].config, None);
assert_str_eq!(sonarr_data.main_tabs.tabs[6].title, "System"); assert_str_eq!(sonarr_data.main_tabs.tabs[6].title, "System");
assert_eq!( assert_eq!(
@@ -194,6 +200,7 @@ mod tests {
sonarr_data.main_tabs.tabs[6].contextual_help, sonarr_data.main_tabs.tabs[6].contextual_help,
Some(build_context_clue_string(&SYSTEM_CONTEXT_CLUES)) Some(build_context_clue_string(&SYSTEM_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.main_tabs.tabs[6].config, None);
assert_eq!(sonarr_data.series_info_tabs.tabs.len(), 2); assert_eq!(sonarr_data.series_info_tabs.tabs.len(), 2);
@@ -207,6 +214,7 @@ mod tests {
sonarr_data.series_info_tabs.tabs[0].contextual_help, sonarr_data.series_info_tabs.tabs[0].contextual_help,
Some(build_context_clue_string(&SERIES_DETAILS_CONTEXT_CLUES)) Some(build_context_clue_string(&SERIES_DETAILS_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.series_info_tabs.tabs[0].config, None);
assert_str_eq!(sonarr_data.series_info_tabs.tabs[1].title, "History"); assert_str_eq!(sonarr_data.series_info_tabs.tabs[1].title, "History");
assert_eq!( assert_eq!(
@@ -218,6 +226,7 @@ mod tests {
sonarr_data.series_info_tabs.tabs[1].contextual_help, sonarr_data.series_info_tabs.tabs[1].contextual_help,
Some(build_context_clue_string(&SERIES_HISTORY_CONTEXT_CLUES)) Some(build_context_clue_string(&SERIES_HISTORY_CONTEXT_CLUES))
); );
assert_eq!(sonarr_data.series_info_tabs.tabs[1].config, None);
} }
} }
+4 -5
View File
@@ -15,7 +15,7 @@ use tokio::sync::{Mutex, MutexGuard};
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use crate::app::{App, ServarrConfig}; use crate::app::{App, ServarrConfig};
use crate::models::{Route, Serdeable}; use crate::models::Serdeable;
use crate::network::radarr_network::RadarrEvent; use crate::network::radarr_network::RadarrEvent;
#[cfg(test)] #[cfg(test)]
use mockall::automock; use mockall::automock;
@@ -218,10 +218,9 @@ impl<'a, 'b> Network<'a, 'b> {
.get_active_config() .get_active_config()
.as_ref() .as_ref()
.expect("Servarr config is undefined"); .expect("Servarr config is undefined");
let default_port = match app.get_current_route() { let default_port = match network_event.into() {
Route::Radarr(_, _) => 7878, NetworkEvent::Radarr(_) => 7878,
Route::Sonarr(_, _) => 8989, NetworkEvent::Sonarr(_) => 8989,
_ => 0,
}; };
let mut uri = if let Some(servarr_uri) = uri { let mut uri = if let Some(servarr_uri) = uri {
format!("{servarr_uri}/api/v3{resource}") format!("{servarr_uri}/api/v3{resource}")
+43 -56
View File
@@ -34,7 +34,7 @@ mod tests {
.parse() .parse()
.unwrap(), .unwrap(),
); );
let mut app = App::default(); let mut app = App::test_default();
app.is_loading = true; app.is_loading = true;
let radarr_config = ServarrConfig { let radarr_config = ServarrConfig {
host, host,
@@ -43,7 +43,7 @@ mod tests {
ssl_cert_path: None, ssl_cert_path: None,
..ServarrConfig::default() ..ServarrConfig::default()
}; };
app.config.radarr = Some(radarr_config); app.server_tabs.tabs[0].config = Some(radarr_config);
let app_arc = Arc::new(Mutex::new(app)); let app_arc = Arc::new(Mutex::new(app));
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
@@ -68,7 +68,7 @@ mod tests {
.with_status(200) .with_status(200)
.create_async() .create_async()
.await; .await;
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let _ = network let _ = network
@@ -218,7 +218,7 @@ mod tests {
.with_body(r#"{ "invalid": "INVALID" }"#) .with_body(r#"{ "invalid": "INVALID" }"#)
.create_async() .create_async()
.await; .await;
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let resp = network let resp = network
@@ -250,7 +250,7 @@ mod tests {
#[tokio::test] #[tokio::test]
async fn test_handle_request_failure_to_send_request() { async fn test_handle_request_failure_to_send_request() {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let resp = network let resp = network
@@ -368,8 +368,8 @@ mod tests {
if request_method == RequestMethod::Post { if request_method == RequestMethod::Post {
async_server = async_server.with_body( async_server = async_server.with_body(
r#"{ r#"{
"value": "Test" "value": "Test"
}"#, }"#,
); );
body = Some(Test { body = Some(Test {
@@ -378,7 +378,7 @@ mod tests {
} }
async_server = async_server.create_async().await; async_server = async_server.create_async().await;
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
network network
@@ -398,31 +398,16 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[should_panic(expected = "Radarr config undefined")] #[should_panic(expected = "Servarr config is undefined")]
async fn test_request_props_from_requires_radarr_config_to_be_present_for_radarr_events() { #[rstest]
async fn test_request_props_from_requires_radarr_config_to_be_present_for_all_network_events(
#[values(RadarrEvent::HealthCheck, SonarrEvent::HealthCheck)] network_event: impl Into<NetworkEvent> + NetworkResource) {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::default()));
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
network network
.request_props_from( .request_props_from(
RadarrEvent::GetMovies, network_event,
RequestMethod::Get,
None::<()>,
None,
None,
)
.await;
}
#[tokio::test]
#[should_panic(expected = "Sonarr config undefined")]
async fn test_request_props_from_requires_sonarr_config_to_be_present_for_sonarr_events() {
let app_arc = Arc::new(Mutex::new(App::default()));
let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
network
.request_props_from(
SonarrEvent::ListSeries,
RequestMethod::Get, RequestMethod::Get,
None::<()>, None::<()>,
None, None,
@@ -439,13 +424,14 @@ mod tests {
#[case] network_event: impl Into<NetworkEvent> + NetworkResource, #[case] network_event: impl Into<NetworkEvent> + NetworkResource,
#[case] default_port: u16, #[case] default_port: u16,
) { ) {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let resource = network_event.resource(); let resource = network_event.resource();
app_arc.lock().await.config = AppConfig { {
radarr: Some(ServarrConfig::default()), let mut app = app_arc.lock().await;
sonarr: Some(ServarrConfig::default()), app.server_tabs.tabs[0].config = Some(ServarrConfig::default());
}; app.server_tabs.tabs[1].config = Some(ServarrConfig::default());
}
let request_props = network let request_props = network
.request_props_from(network_event, RequestMethod::Get, None::<()>, None, None) .request_props_from(network_event, RequestMethod::Get, None::<()>, None, None)
@@ -467,7 +453,7 @@ mod tests {
+ NetworkResource, + NetworkResource,
) { ) {
let api_token = "testToken1234".to_owned(); let api_token = "testToken1234".to_owned();
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let resource = network_event.resource(); let resource = network_event.resource();
let servarr_config = ServarrConfig { let servarr_config = ServarrConfig {
host: Some("192.168.0.123".to_owned()), host: Some("192.168.0.123".to_owned()),
@@ -478,8 +464,8 @@ mod tests {
}; };
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.config.radarr = Some(servarr_config.clone()); app.server_tabs.tabs[0].config = Some(servarr_config.clone());
app.config.sonarr = Some(servarr_config); app.server_tabs.tabs[1].config = Some(servarr_config);
} }
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
@@ -503,7 +489,7 @@ mod tests {
+ NetworkResource, + NetworkResource,
) { ) {
let api_token = "testToken1234".to_owned(); let api_token = "testToken1234".to_owned();
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let resource = network_event.resource(); let resource = network_event.resource();
let servarr_config = ServarrConfig { let servarr_config = ServarrConfig {
uri: Some("https://192.168.0.123:8080".to_owned()), uri: Some("https://192.168.0.123:8080".to_owned()),
@@ -512,8 +498,8 @@ mod tests {
}; };
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.config.radarr = Some(servarr_config.clone()); app.server_tabs.tabs[0].config = Some(servarr_config.clone());
app.config.sonarr = Some(servarr_config); app.server_tabs.tabs[1].config = Some(servarr_config);
} }
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
@@ -538,13 +524,14 @@ mod tests {
#[case] network_event: impl Into<NetworkEvent> + NetworkResource, #[case] network_event: impl Into<NetworkEvent> + NetworkResource,
#[case] default_port: u16, #[case] default_port: u16,
) { ) {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let resource = network_event.resource(); let resource = network_event.resource();
app_arc.lock().await.config = AppConfig { {
radarr: Some(ServarrConfig::default()), let mut app = app_arc.lock().await;
sonarr: Some(ServarrConfig::default()), app.server_tabs.tabs[0].config = Some(ServarrConfig::default());
}; app.server_tabs.tabs[1].config = Some(ServarrConfig::default());
}
let request_props = network let request_props = network
.request_props_from( .request_props_from(
@@ -572,7 +559,7 @@ mod tests {
+ NetworkResource, + NetworkResource,
) { ) {
let api_token = "testToken1234".to_owned(); let api_token = "testToken1234".to_owned();
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let resource = network_event.resource(); let resource = network_event.resource();
let servarr_config = ServarrConfig { let servarr_config = ServarrConfig {
host: Some("192.168.0.123".to_owned()), host: Some("192.168.0.123".to_owned()),
@@ -583,8 +570,8 @@ mod tests {
}; };
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.config.radarr = Some(servarr_config.clone()); app.server_tabs.tabs[0].config = Some(servarr_config.clone());
app.config.sonarr = Some(servarr_config); app.server_tabs.tabs[1].config = Some(servarr_config);
} }
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
@@ -614,7 +601,7 @@ mod tests {
+ NetworkResource, + NetworkResource,
) { ) {
let api_token = "testToken1234".to_owned(); let api_token = "testToken1234".to_owned();
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let resource = network_event.resource(); let resource = network_event.resource();
let servarr_config = ServarrConfig { let servarr_config = ServarrConfig {
uri: Some("https://192.168.0.123:8080".to_owned()), uri: Some("https://192.168.0.123:8080".to_owned()),
@@ -623,8 +610,8 @@ mod tests {
}; };
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
app.config.radarr = Some(servarr_config.clone()); app.server_tabs.tabs[0].config = Some(servarr_config.clone());
app.config.sonarr = Some(servarr_config); app.server_tabs.tabs[1].config = Some(servarr_config);
} }
let network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let network = Network::new(&app_arc, CancellationToken::new(), Client::new());
@@ -665,14 +652,14 @@ mod tests {
if has_response_body { if has_response_body {
async_server = async_server.with_body( async_server = async_server.with_body(
r#"{ r#"{
"value": "Test" "value": "Test"
}"#, }"#,
); );
} }
async_server = async_server.create_async().await; async_server = async_server.create_async().await;
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
(async_server, app_arc, server) (async_server, app_arc, server)
} }
@@ -734,7 +721,7 @@ pub(in crate::network) mod test_utils {
.parse() .parse()
.unwrap(), .unwrap(),
); );
let mut app = App::default(); let mut app = App::test_default();
let servarr_config = ServarrConfig { let servarr_config = ServarrConfig {
host, host,
port, port,
@@ -743,8 +730,8 @@ pub(in crate::network) mod test_utils {
}; };
match network_event.into() { match network_event.into() {
NetworkEvent::Radarr(_) => app.config.radarr = Some(servarr_config), NetworkEvent::Radarr(_) => app.server_tabs.tabs[0].config = Some(servarr_config),
NetworkEvent::Sonarr(_) => app.config.sonarr = Some(servarr_config), NetworkEvent::Sonarr(_) => app.server_tabs.tabs[1].config = Some(servarr_config),
} }
let app_arc = Arc::new(Mutex::new(app)); let app_arc = Arc::new(Mutex::new(app));
+1 -1
View File
@@ -3866,7 +3866,7 @@ mod test {
#[tokio::test] #[tokio::test]
async fn test_extract_and_add_radarr_tag_ids_vec() { async fn test_extract_and_add_radarr_tag_ids_vec() {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let tags = " test,HI ,, usenet "; let tags = " test,HI ,, usenet ";
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
+86 -1
View File
@@ -319,6 +319,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -382,6 +383,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.tags_map = app_arc.lock().await.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -437,6 +439,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -463,6 +466,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.tags_map = app_arc.lock().await.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "test".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "test".to_owned())]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Tag(tag) = network if let SonarrSerdeable::Tag(tag) = network
@@ -517,6 +521,7 @@ mod test {
.sonarr_data .sonarr_data
.blocklist .blocklist
.set_items(blocklist_items); .set_items(blocklist_items);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -546,6 +551,7 @@ mod test {
.sonarr_data .sonarr_data
.blocklist .blocklist
.set_items(vec![blocklist_item()]); .set_items(vec![blocklist_item()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -570,6 +576,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.season_details_modal = app_arc.lock().await.data.sonarr_data.season_details_modal =
Some(SeasonDetailsModal::default()); Some(SeasonDetailsModal::default());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -599,6 +606,7 @@ mod test {
.sonarr_data .sonarr_data
.downloads .downloads
.set_items(vec![download_record()]); .set_items(vec![download_record()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -628,6 +636,7 @@ mod test {
.sonarr_data .sonarr_data
.indexers .indexers
.set_items(vec![indexer()]); .set_items(vec![indexer()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -650,6 +659,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -677,6 +687,7 @@ mod test {
Some("deleteFiles=true&addImportExclusion=true"), Some("deleteFiles=true&addImportExclusion=true"),
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -699,6 +710,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -731,6 +743,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -761,6 +774,7 @@ mod test {
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -858,6 +872,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.tags_map = app_arc.lock().await.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -955,6 +970,7 @@ mod test {
.match_body(Matcher::Json(expected_indexer_edit_body_json)) .match_body(Matcher::Json(expected_indexer_edit_body_json))
.create_async() .create_async()
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1047,6 +1063,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.tags_map = app_arc.lock().await.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1146,6 +1163,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.tags_map = app_arc.lock().await.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1210,6 +1228,7 @@ mod test {
.match_body(Matcher::Json(indexer_details_json)) .match_body(Matcher::Json(indexer_details_json))
.create_async() .create_async()
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1299,6 +1318,7 @@ mod test {
.match_body(Matcher::Json(expected_edit_indexer_body)) .match_body(Matcher::Json(expected_edit_indexer_body))
.create_async() .create_async()
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1358,6 +1378,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.tags_map = app_arc.lock().await.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1418,6 +1439,7 @@ mod test {
.await; .await;
app_arc.lock().await.data.sonarr_data.tags_map = app_arc.lock().await.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "testing".to_owned())]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1460,6 +1482,7 @@ mod test {
.match_body(Matcher::Json(expected_body)) .match_body(Matcher::Json(expected_body))
.create_async() .create_async()
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1505,6 +1528,7 @@ mod test {
.match_body(Matcher::Json(expected_body)) .match_body(Matcher::Json(expected_body))
.create_async() .create_async()
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -1603,6 +1627,7 @@ mod test {
.blocklist .blocklist
.sorting(vec![blocklist_sort_option]); .sorting(vec![blocklist_sort_option]);
} }
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::BlocklistResponse(blocklist) = network if let SonarrSerdeable::BlocklistResponse(blocklist) = network
@@ -1678,6 +1703,7 @@ mod test {
.sonarr_data .sonarr_data
.blocklist .blocklist
.sorting(vec![blocklist_sort_option]); .sorting(vec![blocklist_sort_option]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::BlocklistResponse(blocklist) = network if let SonarrSerdeable::BlocklistResponse(blocklist) = network
@@ -1719,6 +1745,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::DownloadsResponse(downloads) = network if let SonarrSerdeable::DownloadsResponse(downloads) = network
@@ -1756,6 +1783,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let disk_space_vec = vec![ let disk_space_vec = vec![
DiskSpace { DiskSpace {
@@ -1794,6 +1822,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let _ = network.handle_sonarr_event(SonarrEvent::HealthCheck).await; let _ = network.handle_sonarr_event(SonarrEvent::HealthCheck).await;
@@ -1873,6 +1902,7 @@ mod test {
season_number: 1, season_number: 1,
..Season::default() ..Season::default()
}]); }]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Episodes(episodes) = network if let SonarrSerdeable::Episodes(episodes) = network
@@ -1959,6 +1989,7 @@ mod test {
id: 1, id: 1,
..Series::default() ..Series::default()
}]); }]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Episodes(episodes) = network if let SonarrSerdeable::Episodes(episodes) = network
@@ -2018,6 +2049,7 @@ mod test {
id: 1, id: 1,
..Series::default() ..Series::default()
}]); }]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Episodes(episodes) = network if let SonarrSerdeable::Episodes(episodes) = network
@@ -2122,6 +2154,7 @@ mod test {
..Series::default() ..Series::default()
}]); }]);
app_arc.lock().await.data.sonarr_data.season_details_modal = Some(season_details_modal); app_arc.lock().await.data.sonarr_data.season_details_modal = Some(season_details_modal);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Episodes(episodes) = network if let SonarrSerdeable::Episodes(episodes) = network
@@ -2180,6 +2213,7 @@ mod test {
id: 1, id: 1,
..Series::default() ..Series::default()
}]); }]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::EpisodeFiles(episode_files) = network if let SonarrSerdeable::EpisodeFiles(episode_files) = network
@@ -2227,6 +2261,7 @@ mod test {
id: 1, id: 1,
..Series::default() ..Series::default()
}]); }]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::EpisodeFiles(episode_files) = network if let SonarrSerdeable::EpisodeFiles(episode_files) = network
@@ -2283,6 +2318,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::HostConfig(host_config) = network if let SonarrSerdeable::HostConfig(host_config) = network
@@ -2371,6 +2407,7 @@ mod test {
.history .history
.sorting(vec![history_sort_option]); .sorting(vec![history_sort_option]);
} }
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryWrapper(history) = network if let SonarrSerdeable::SonarrHistoryWrapper(history) = network
@@ -2449,6 +2486,7 @@ mod test {
.sonarr_data .sonarr_data
.history .history
.sorting(vec![history_sort_option]); .sorting(vec![history_sort_option]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryWrapper(history) = network if let SonarrSerdeable::SonarrHistoryWrapper(history) = network
@@ -2506,6 +2544,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Indexers(indexers) = network if let SonarrSerdeable::Indexers(indexers) = network
@@ -2545,6 +2584,7 @@ mod test {
.lock() .lock()
.await .await
.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into()); .push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Episode(episode) = network if let SonarrSerdeable::Episode(episode) = network
@@ -2658,6 +2698,7 @@ mod test {
.lock() .lock()
.await .await
.push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into()); .push_navigation_stack(ActiveSonarrBlock::EpisodeDetails.into());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Episode(episode) = network if let SonarrSerdeable::Episode(episode) = network
@@ -2822,6 +2863,7 @@ mod test {
.unwrap() .unwrap()
.episode_history .episode_history
.sort_asc = true; .sort_asc = true;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryWrapper(history) = network if let SonarrSerdeable::SonarrHistoryWrapper(history) = network
@@ -2930,6 +2972,7 @@ mod test {
.unwrap() .unwrap()
.episodes .episodes
.set_items(vec![episode()]); .set_items(vec![episode()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryWrapper(history) = network if let SonarrSerdeable::SonarrHistoryWrapper(history) = network
@@ -3026,6 +3069,7 @@ mod test {
Some("episodeId=1&pageSize=1000&sortDirection=descending&sortKey=date"), Some("episodeId=1&pageSize=1000&sortDirection=descending&sortKey=date"),
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryWrapper(history) = network if let SonarrSerdeable::SonarrHistoryWrapper(history) = network
@@ -3083,6 +3127,7 @@ mod test {
) )
.await; .await;
app_arc.lock().await.cli_mode = true; app_arc.lock().await.cli_mode = true;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Episode(episode) = network if let SonarrSerdeable::Episode(episode) = network
@@ -3109,6 +3154,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
network network
@@ -3134,6 +3180,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::LanguageProfiles(language_profiles) = network if let SonarrSerdeable::LanguageProfiles(language_profiles) = network
@@ -3193,6 +3240,7 @@ mod test {
Some("pageSize=500&sortDirection=descending&sortKey=time"), Some("pageSize=500&sortDirection=descending&sortKey=time"),
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::LogResponse(logs) = network if let SonarrSerdeable::LogResponse(logs) = network
@@ -3236,6 +3284,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::QualityProfiles(quality_profiles) = network if let SonarrSerdeable::QualityProfiles(quality_profiles) = network
@@ -3287,6 +3336,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::QueueEvents(events) = network if let SonarrSerdeable::QueueEvents(events) = network
@@ -3322,6 +3372,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::RootFolders(root_folders) = network if let SonarrSerdeable::RootFolders(root_folders) = network
@@ -3377,6 +3428,7 @@ mod test {
.as_mut() .as_mut()
.unwrap() .unwrap()
.episode_details_modal = Some(EpisodeDetailsModal::default()); .episode_details_modal = Some(EpisodeDetailsModal::default());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Releases(releases_vec) = network if let SonarrSerdeable::Releases(releases_vec) = network
@@ -3435,6 +3487,7 @@ mod test {
let mut season_details_modal = SeasonDetailsModal::default(); let mut season_details_modal = SeasonDetailsModal::default();
season_details_modal.episodes.set_items(vec![episode()]); season_details_modal.episodes.set_items(vec![episode()]);
app_arc.lock().await.data.sonarr_data.season_details_modal = Some(season_details_modal); app_arc.lock().await.data.sonarr_data.season_details_modal = Some(season_details_modal);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Releases(releases_vec) = network if let SonarrSerdeable::Releases(releases_vec) = network
@@ -3542,6 +3595,7 @@ mod test {
.unwrap() .unwrap()
.season_history .season_history
.sort_asc = true; .sort_asc = true;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryItems(history) = network if let SonarrSerdeable::SonarrHistoryItems(history) = network
@@ -3646,6 +3700,7 @@ mod test {
.sonarr_data .sonarr_data
.seasons .seasons
.set_items(vec![season()]); .set_items(vec![season()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryItems(history) = network if let SonarrSerdeable::SonarrHistoryItems(history) = network
@@ -3765,6 +3820,7 @@ mod test {
.set_items(vec![season()]); .set_items(vec![season()]);
app_arc.lock().await.data.sonarr_data.season_details_modal = app_arc.lock().await.data.sonarr_data.season_details_modal =
Some(SeasonDetailsModal::default()); Some(SeasonDetailsModal::default());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Releases(releases_vec) = network if let SonarrSerdeable::Releases(releases_vec) = network
@@ -3853,6 +3909,7 @@ mod test {
.sonarr_data .sonarr_data
.seasons .seasons
.set_items(vec![season()]); .set_items(vec![season()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -3940,6 +3997,7 @@ mod test {
.series .series
.sorting(vec![title_sort_option]); .sorting(vec![title_sort_option]);
} }
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SeriesVec(series) = network if let SonarrSerdeable::SeriesVec(series) = network
@@ -3977,6 +4035,7 @@ mod test {
.sonarr_data .sonarr_data
.series .series
.set_items(vec![series()]); .set_items(vec![series()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Series(series) = network if let SonarrSerdeable::Series(series) = network
@@ -4072,6 +4131,7 @@ mod test {
.series .series
.set_items(vec![series()]); .set_items(vec![series()]);
app_arc.lock().await.data.sonarr_data.series_history = Some(series_history_table); app_arc.lock().await.data.sonarr_data.series_history = Some(series_history_table);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryItems(history_items) = network if let SonarrSerdeable::SonarrHistoryItems(history_items) = network
@@ -4174,6 +4234,7 @@ mod test {
.sonarr_data .sonarr_data
.series .series
.set_items(vec![series()]); .set_items(vec![series()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryItems(history_items) = network if let SonarrSerdeable::SonarrHistoryItems(history_items) = network
@@ -4282,6 +4343,7 @@ mod test {
.lock() .lock()
.await .await
.push_navigation_stack(ActiveSonarrBlock::SeriesHistorySortPrompt.into()); .push_navigation_stack(ActiveSonarrBlock::SeriesHistorySortPrompt.into());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SonarrHistoryItems(history_items) = network if let SonarrSerdeable::SonarrHistoryItems(history_items) = network
@@ -4361,6 +4423,7 @@ mod test {
.sonarr_data .sonarr_data
.series .series
.sorting(vec![title_sort_option]); .sorting(vec![title_sort_option]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -4402,6 +4465,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::SecurityConfig(security_config) = network if let SonarrSerdeable::SecurityConfig(security_config) = network
@@ -4429,6 +4493,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let date_time = DateTime::from(DateTime::parse_from_rfc3339("2023-02-25T20:16:43Z").unwrap()); let date_time = DateTime::from(DateTime::parse_from_rfc3339("2023-02-25T20:16:43Z").unwrap());
@@ -4467,6 +4532,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Tags(tags) = network if let SonarrSerdeable::Tags(tags) = network
@@ -4527,6 +4593,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Tasks(tasks) = network if let SonarrSerdeable::Tasks(tasks) = network
@@ -4622,6 +4689,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Updates(updates) = network if let SonarrSerdeable::Updates(updates) = network
@@ -4651,6 +4719,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -4688,6 +4757,7 @@ mod test {
) )
.await; .await;
app_arc.lock().await.data.sonarr_data.add_series_search = Some("test term".into()); app_arc.lock().await.data.sonarr_data.add_series_search = Some("test term".into());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::AddSeriesSearchResults(add_series_search_results) = network if let SonarrSerdeable::AddSeriesSearchResults(add_series_search_results) = network
@@ -4732,6 +4802,7 @@ mod test {
) )
.await; .await;
app_arc.lock().await.data.sonarr_data.add_series_search = Some("test term".into()); app_arc.lock().await.data.sonarr_data.add_series_search = Some("test term".into());
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -4778,6 +4849,7 @@ mod test {
task_name: SonarrTaskName::default(), task_name: SonarrTaskName::default(),
..SonarrTask::default() ..SonarrTask::default()
}]); }]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Value(value) = network if let SonarrSerdeable::Value(value) = network
@@ -4851,6 +4923,7 @@ mod test {
.sonarr_data .sonarr_data
.indexers .indexers
.set_items(vec![indexer()]); .set_items(vec![indexer()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Value(value) = network if let SonarrSerdeable::Value(value) = network
@@ -4920,6 +4993,7 @@ mod test {
.sonarr_data .sonarr_data
.indexers .indexers
.set_items(vec![indexer()]); .set_items(vec![indexer()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::Value(value) = network if let SonarrSerdeable::Value(value) = network
@@ -5003,6 +5077,7 @@ mod test {
.sonarr_data .sonarr_data
.indexers .indexers
.set_items(indexers); .set_items(indexers);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
if let SonarrSerdeable::IndexerTestResults(results) = network if let SonarrSerdeable::IndexerTestResults(results) = network
@@ -5066,6 +5141,7 @@ mod test {
.match_body(Matcher::Json(json!(expected_body))) .match_body(Matcher::Json(json!(expected_body)))
.create_async() .create_async()
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5120,6 +5196,7 @@ mod test {
app.data.sonarr_data.series.set_items(vec![series()]); app.data.sonarr_data.series.set_items(vec![series()]);
app.data.sonarr_data.seasons.set_items(vec![season()]); app.data.sonarr_data.seasons.set_items(vec![season()]);
} }
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5146,6 +5223,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5172,6 +5250,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5197,6 +5276,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5221,6 +5301,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5253,6 +5334,7 @@ mod test {
.sonarr_data .sonarr_data
.series .series
.set_items(vec![series()]); .set_items(vec![series()]);
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5277,6 +5359,7 @@ mod test {
None, None,
) )
.await; .await;
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert!(network assert!(network
@@ -5289,7 +5372,7 @@ mod test {
#[tokio::test] #[tokio::test]
async fn test_extract_and_add_sonarr_tag_ids_vec() { async fn test_extract_and_add_sonarr_tag_ids_vec() {
let app_arc = Arc::new(Mutex::new(App::default())); let app_arc = Arc::new(Mutex::new(App::test_default()));
let tags = " test,HI ,, usenet "; let tags = " test,HI ,, usenet ";
{ {
let mut app = app_arc.lock().await; let mut app = app_arc.lock().await;
@@ -5299,6 +5382,7 @@ mod test {
(3, "hi".to_owned()), (3, "hi".to_owned()),
]); ]);
} }
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
assert_eq!( assert_eq!(
@@ -5329,6 +5413,7 @@ mod test {
app.data.sonarr_data.tags_map = app.data.sonarr_data.tags_map =
BiMap::from_iter([(1, "usenet".to_owned()), (2, "test".to_owned())]); BiMap::from_iter([(1, "usenet".to_owned()), (2, "test".to_owned())]);
} }
app_arc.lock().await.server_tabs.next();
let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new()); let mut network = Network::new(&app_arc, CancellationToken::new(), Client::new());
let tag_ids_vec = network.extract_and_add_sonarr_tag_ids_vec(tags).await; let tag_ids_vec = network.extract_and_add_sonarr_tag_ids_vec(tags).await;