test: Updated Rust edition to 2024 and refactored network module tests to be more idiomatic
This commit is contained in:
+1
-1
@@ -8,7 +8,7 @@ documentation = "https://github.com/Dark-Alex-17/managarr"
|
|||||||
repository = "https://github.com/Dark-Alex-17/managarr"
|
repository = "https://github.com/Dark-Alex-17/managarr"
|
||||||
homepage = "https://github.com/Dark-Alex-17/managarr"
|
homepage = "https://github.com/Dark-Alex-17/managarr"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
edition = "2021"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
rust-version = "1.89.0"
|
rust-version = "1.89.0"
|
||||||
exclude = [".github", "CONTRIBUTING.md", "*.log", "tags"]
|
exclude = [".github", "CONTRIBUTING.md", "*.log", "tags"]
|
||||||
|
|||||||
@@ -7,12 +7,12 @@ mod tests {
|
|||||||
use serial_test::serial;
|
use serial_test::serial;
|
||||||
use tokio::sync::mpsc;
|
use tokio::sync::mpsc;
|
||||||
|
|
||||||
use crate::app::{interpolate_env_vars, App, AppConfig, Data, ServarrConfig};
|
use crate::app::{App, AppConfig, Data, ServarrConfig, interpolate_env_vars};
|
||||||
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};
|
||||||
use crate::models::{HorizontallyScrollableText, TabRoute};
|
use crate::models::{HorizontallyScrollableText, TabRoute};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
|
||||||
use crate::network::NetworkEvent;
|
use crate::network::NetworkEvent;
|
||||||
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use tokio_util::sync::CancellationToken;
|
use tokio_util::sync::CancellationToken;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -597,7 +597,9 @@ mod tests {
|
|||||||
let ssl_cert_path = "/some/path".to_owned();
|
let ssl_cert_path = "/some/path".to_owned();
|
||||||
let mut custom_headers = HeaderMap::new();
|
let mut custom_headers = HeaderMap::new();
|
||||||
custom_headers.insert("X-Custom-Header", "value".parse().unwrap());
|
custom_headers.insert("X-Custom-Header", "value".parse().unwrap());
|
||||||
let expected_str = format!("ServarrConfig {{ name: Some(\"{name}\"), host: Some(\"{host}\"), port: Some({port}), uri: Some(\"{uri}\"), weight: Some({weight}), api_token: Some(\"***********\"), api_token_file: Some(\"{api_token_file}\"), ssl_cert_path: Some(\"{ssl_cert_path}\"), custom_headers: Some({{\"x-custom-header\": \"value\"}}) }}");
|
let expected_str = format!(
|
||||||
|
"ServarrConfig {{ name: Some(\"{name}\"), host: Some(\"{host}\"), port: Some({port}), uri: Some(\"{uri}\"), weight: Some({weight}), api_token: Some(\"***********\"), api_token_file: Some(\"{api_token_file}\"), ssl_cert_path: Some(\"{ssl_cert_path}\"), custom_headers: Some({{\"x-custom-header\": \"value\"}}) }}"
|
||||||
|
);
|
||||||
let servarr_config = ServarrConfig {
|
let servarr_config = ServarrConfig {
|
||||||
name: Some(name),
|
name: Some(name),
|
||||||
host: Some(host),
|
host: Some(host),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use crate::app::key_binding::{KeyBinding, DEFAULT_KEYBINDINGS};
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::{DEFAULT_KEYBINDINGS, KeyBinding};
|
||||||
use crate::app::radarr::radarr_context_clues::RadarrContextClueProvider;
|
use crate::app::radarr::radarr_context_clues::RadarrContextClueProvider;
|
||||||
use crate::app::sonarr::sonarr_context_clues::SonarrContextClueProvider;
|
use crate::app::sonarr::sonarr_context_clues::SonarrContextClueProvider;
|
||||||
use crate::app::App;
|
|
||||||
use crate::models::Route;
|
use crate::models::Route;
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ mod test {
|
|||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
|
|
||||||
use crate::app::context_clues::{
|
use crate::app::context_clues::{
|
||||||
ContextClueProvider, ServarrContextClueProvider, BARE_POPUP_CONTEXT_CLUES,
|
BARE_POPUP_CONTEXT_CLUES, BLOCKLIST_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES,
|
||||||
BLOCKLIST_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES, DOWNLOADS_CONTEXT_CLUES,
|
ContextClueProvider, DOWNLOADS_CONTEXT_CLUES, INDEXERS_CONTEXT_CLUES,
|
||||||
INDEXERS_CONTEXT_CLUES, ROOT_FOLDERS_CONTEXT_CLUES, SERVARR_CONTEXT_CLUES,
|
ROOT_FOLDERS_CONTEXT_CLUES, SERVARR_CONTEXT_CLUES, SYSTEM_CONTEXT_CLUES,
|
||||||
SYSTEM_CONTEXT_CLUES,
|
ServarrContextClueProvider,
|
||||||
};
|
};
|
||||||
use crate::app::{key_binding::DEFAULT_KEYBINDINGS, App};
|
use crate::app::{App, key_binding::DEFAULT_KEYBINDINGS};
|
||||||
|
use crate::models::servarr_data::ActiveKeybindingBlock;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
||||||
use crate::models::servarr_data::ActiveKeybindingBlock;
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_servarr_context_clues() {
|
fn test_servarr_context_clues() {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ mod test {
|
|||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::app::key_binding::{KeyBinding, DEFAULT_KEYBINDINGS};
|
use crate::app::key_binding::{DEFAULT_KEYBINDINGS, KeyBinding};
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::matches_key;
|
use crate::matches_key;
|
||||||
|
|
||||||
|
|||||||
+11
-11
@@ -1,4 +1,4 @@
|
|||||||
use anyhow::{anyhow, Error, Result};
|
use anyhow::{Error, Result, anyhow};
|
||||||
use colored::Colorize;
|
use colored::Colorize;
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use log::{debug, error};
|
use log::{debug, error};
|
||||||
@@ -132,12 +132,12 @@ impl App<'_> {
|
|||||||
self.is_loading = true;
|
self.is_loading = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(network_tx) = &self.network_tx {
|
if let Some(network_tx) = &self.network_tx
|
||||||
if let Err(e) = network_tx.send(action).await {
|
&& let Err(e) = network_tx.send(action).await
|
||||||
self.is_loading = false;
|
{
|
||||||
error!("Failed to send event. {e:?}");
|
self.is_loading = false;
|
||||||
self.handle_error(anyhow!(e));
|
error!("Failed to send event. {e:?}");
|
||||||
}
|
self.handle_error(anyhow!(e));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -479,10 +479,10 @@ fn interpolate_env_vars(s: &str) -> String {
|
|||||||
|
|
||||||
var_regex
|
var_regex
|
||||||
.replace_all(s, |caps: ®ex::Captures<'_>| {
|
.replace_all(s, |caps: ®ex::Captures<'_>| {
|
||||||
if let Some(mat) = caps.get(1) {
|
if let Some(mat) = caps.get(1)
|
||||||
if let Ok(value) = std::env::var(mat.as_str()) {
|
&& let Ok(value) = std::env::var(mat.as_str())
|
||||||
return scrubbing_regex.replace_all(&value, "").to_string();
|
{
|
||||||
}
|
return scrubbing_regex.replace_all(&value, "").to_string();
|
||||||
}
|
}
|
||||||
|
|
||||||
scrubbing_regex.replace_all(&result, "").to_string()
|
scrubbing_regex.replace_all(&result, "").to_string()
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
|
use crate::app::App;
|
||||||
use crate::app::context_clues::{
|
use crate::app::context_clues::{
|
||||||
ContextClue, ContextClueProvider, BARE_POPUP_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES,
|
BARE_POPUP_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES, ContextClue, ContextClueProvider,
|
||||||
};
|
};
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::app::App;
|
use crate::models::Route;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, ADD_MOVIE_BLOCKS, EDIT_COLLECTION_BLOCKS, EDIT_INDEXER_BLOCKS,
|
ADD_MOVIE_BLOCKS, ActiveRadarrBlock, EDIT_COLLECTION_BLOCKS, EDIT_INDEXER_BLOCKS,
|
||||||
EDIT_MOVIE_BLOCKS, INDEXER_SETTINGS_BLOCKS, MOVIE_DETAILS_BLOCKS,
|
EDIT_MOVIE_BLOCKS, INDEXER_SETTINGS_BLOCKS, MOVIE_DETAILS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::Route;
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
#[path = "radarr_context_clues_tests.rs"]
|
#[path = "radarr_context_clues_tests.rs"]
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
|
use crate::app::App;
|
||||||
use crate::app::context_clues::{
|
use crate::app::context_clues::{
|
||||||
ContextClue, ContextClueProvider, BARE_POPUP_CONTEXT_CLUES, BLOCKLIST_CONTEXT_CLUES,
|
BARE_POPUP_CONTEXT_CLUES, BLOCKLIST_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES,
|
||||||
CONFIRMATION_PROMPT_CONTEXT_CLUES, DOWNLOADS_CONTEXT_CLUES, INDEXERS_CONTEXT_CLUES,
|
ContextClue, ContextClueProvider, DOWNLOADS_CONTEXT_CLUES, INDEXERS_CONTEXT_CLUES,
|
||||||
ROOT_FOLDERS_CONTEXT_CLUES, SYSTEM_CONTEXT_CLUES,
|
ROOT_FOLDERS_CONTEXT_CLUES, SYSTEM_CONTEXT_CLUES,
|
||||||
};
|
};
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::app::radarr::radarr_context_clues::{
|
use crate::app::radarr::radarr_context_clues::{
|
||||||
RadarrContextClueProvider, ADD_MOVIE_SEARCH_RESULTS_CONTEXT_CLUES, COLLECTIONS_CONTEXT_CLUES,
|
ADD_MOVIE_SEARCH_RESULTS_CONTEXT_CLUES, COLLECTION_DETAILS_CONTEXT_CLUES,
|
||||||
COLLECTION_DETAILS_CONTEXT_CLUES, LIBRARY_CONTEXT_CLUES, MANUAL_MOVIE_SEARCH_CONTEXT_CLUES,
|
COLLECTIONS_CONTEXT_CLUES, LIBRARY_CONTEXT_CLUES, MANUAL_MOVIE_SEARCH_CONTEXT_CLUES,
|
||||||
MOVIE_DETAILS_CONTEXT_CLUES, SYSTEM_TASKS_CONTEXT_CLUES,
|
MOVIE_DETAILS_CONTEXT_CLUES, RadarrContextClueProvider, SYSTEM_TASKS_CONTEXT_CLUES,
|
||||||
};
|
};
|
||||||
use crate::app::App;
|
|
||||||
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;
|
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
|
|||||||
@@ -3,15 +3,15 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use tokio::sync::mpsc;
|
use tokio::sync::mpsc;
|
||||||
|
|
||||||
use crate::app::radarr::ActiveRadarrBlock;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::radarr::ActiveRadarrBlock;
|
||||||
use crate::models::radarr_models::{
|
use crate::models::radarr_models::{
|
||||||
AddMovieBody, AddMovieOptions, Collection, CollectionMovie, Credit, Movie, RadarrRelease,
|
AddMovieBody, AddMovieOptions, Collection, CollectionMovie, Credit, Movie, RadarrRelease,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
||||||
use crate::models::servarr_models::Indexer;
|
use crate::models::servarr_models::Indexer;
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
|
||||||
use crate::network::NetworkEvent;
|
use crate::network::NetworkEvent;
|
||||||
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn test_dispatch_by_blocklist_block() {
|
async fn test_dispatch_by_blocklist_block() {
|
||||||
|
|||||||
+9
-10
@@ -94,16 +94,15 @@ impl App<'_> {
|
|||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
ActiveSonarrBlock::ManualEpisodeSearch => {
|
ActiveSonarrBlock::ManualEpisodeSearch => {
|
||||||
if let Some(season_details_modal) = self.data.sonarr_data.season_details_modal.as_ref() {
|
if let Some(season_details_modal) = self.data.sonarr_data.season_details_modal.as_ref()
|
||||||
if let Some(episode_details_modal) = season_details_modal.episode_details_modal.as_ref() {
|
&& let Some(episode_details_modal) = season_details_modal.episode_details_modal.as_ref()
|
||||||
if episode_details_modal.episode_releases.is_empty() {
|
&& episode_details_modal.episode_releases.is_empty()
|
||||||
self
|
{
|
||||||
.dispatch_network_event(
|
self
|
||||||
SonarrEvent::GetEpisodeReleases(self.extract_episode_id().await).into(),
|
.dispatch_network_event(
|
||||||
)
|
SonarrEvent::GetEpisodeReleases(self.extract_episode_id().await).into(),
|
||||||
.await;
|
)
|
||||||
}
|
.await;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ActiveSonarrBlock::Downloads => {
|
ActiveSonarrBlock::Downloads => {
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
use crate::app::context_clues::{
|
use crate::app::context_clues::{
|
||||||
ContextClueProvider, BARE_POPUP_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES,
|
BARE_POPUP_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES, ContextClueProvider,
|
||||||
};
|
};
|
||||||
use crate::app::{context_clues::ContextClue, key_binding::DEFAULT_KEYBINDINGS, App};
|
use crate::app::{App, context_clues::ContextClue, key_binding::DEFAULT_KEYBINDINGS};
|
||||||
|
use crate::models::Route;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
ActiveSonarrBlock, ADD_SERIES_BLOCKS, EDIT_INDEXER_BLOCKS, EDIT_SERIES_BLOCKS,
|
ADD_SERIES_BLOCKS, ActiveSonarrBlock, EDIT_INDEXER_BLOCKS, EDIT_SERIES_BLOCKS,
|
||||||
EPISODE_DETAILS_BLOCKS, INDEXER_SETTINGS_BLOCKS, SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS,
|
EPISODE_DETAILS_BLOCKS, INDEXER_SETTINGS_BLOCKS, SEASON_DETAILS_BLOCKS, SERIES_DETAILS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::Route;
|
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
#[path = "sonarr_context_clues_tests.rs"]
|
#[path = "sonarr_context_clues_tests.rs"]
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::context_clues::{
|
use crate::app::context_clues::{
|
||||||
ContextClue, ContextClueProvider, BARE_POPUP_CONTEXT_CLUES, BLOCKLIST_CONTEXT_CLUES,
|
BARE_POPUP_CONTEXT_CLUES, BLOCKLIST_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES,
|
||||||
CONFIRMATION_PROMPT_CONTEXT_CLUES, DOWNLOADS_CONTEXT_CLUES, INDEXERS_CONTEXT_CLUES,
|
ContextClue, ContextClueProvider, DOWNLOADS_CONTEXT_CLUES, INDEXERS_CONTEXT_CLUES,
|
||||||
ROOT_FOLDERS_CONTEXT_CLUES, SYSTEM_CONTEXT_CLUES,
|
ROOT_FOLDERS_CONTEXT_CLUES, SYSTEM_CONTEXT_CLUES,
|
||||||
};
|
};
|
||||||
use crate::app::sonarr::sonarr_context_clues::{
|
use crate::app::sonarr::sonarr_context_clues::{
|
||||||
SonarrContextClueProvider, SELECTABLE_EPISODE_DETAILS_CONTEXT_CLUES,
|
SELECTABLE_EPISODE_DETAILS_CONTEXT_CLUES, SonarrContextClueProvider,
|
||||||
};
|
};
|
||||||
use crate::app::{
|
use crate::app::{
|
||||||
|
App,
|
||||||
key_binding::DEFAULT_KEYBINDINGS,
|
key_binding::DEFAULT_KEYBINDINGS,
|
||||||
sonarr::sonarr_context_clues::{
|
sonarr::sonarr_context_clues::{
|
||||||
ADD_SERIES_SEARCH_RESULTS_CONTEXT_CLUES, EPISODE_DETAILS_CONTEXT_CLUES,
|
ADD_SERIES_SEARCH_RESULTS_CONTEXT_CLUES, EPISODE_DETAILS_CONTEXT_CLUES,
|
||||||
@@ -17,7 +18,6 @@ mod tests {
|
|||||||
SEASON_HISTORY_CONTEXT_CLUES, SERIES_CONTEXT_CLUES, SERIES_DETAILS_CONTEXT_CLUES,
|
SEASON_HISTORY_CONTEXT_CLUES, SERIES_CONTEXT_CLUES, SERIES_DETAILS_CONTEXT_CLUES,
|
||||||
SERIES_HISTORY_CONTEXT_CLUES, SYSTEM_TASKS_CONTEXT_CLUES,
|
SERIES_HISTORY_CONTEXT_CLUES, SYSTEM_TASKS_CONTEXT_CLUES,
|
||||||
},
|
},
|
||||||
App,
|
|
||||||
};
|
};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::models::servarr_data::sonarr::modals::{EpisodeDetailsModal, SeasonDetailsModal};
|
use crate::models::servarr_data::sonarr::modals::{EpisodeDetailsModal, SeasonDetailsModal};
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ mod tests {
|
|||||||
},
|
},
|
||||||
sonarr_models::{Season, Series, SonarrRelease},
|
sonarr_models::{Season, Series, SonarrRelease},
|
||||||
},
|
},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkEvent},
|
network::{NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -2,16 +2,18 @@
|
|||||||
mod tests {
|
mod tests {
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use clap::{error::ErrorKind, CommandFactory};
|
use clap::{CommandFactory, error::ErrorKind};
|
||||||
use mockall::predicate::eq;
|
use mockall::predicate::eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
|
Cli,
|
||||||
app::App,
|
app::App,
|
||||||
cli::{handle_command, mutex_flags_or_option, radarr::RadarrCommand, sonarr::SonarrCommand},
|
cli::{handle_command, mutex_flags_or_option, radarr::RadarrCommand, sonarr::SonarrCommand},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
radarr_models::{
|
radarr_models::{
|
||||||
BlocklistItem as RadarrBlocklistItem, BlocklistResponse as RadarrBlocklistResponse,
|
BlocklistItem as RadarrBlocklistItem, BlocklistResponse as RadarrBlocklistResponse,
|
||||||
RadarrSerdeable,
|
RadarrSerdeable,
|
||||||
@@ -20,12 +22,10 @@ mod tests {
|
|||||||
BlocklistItem as SonarrBlocklistItem, BlocklistResponse as SonarrBlocklistResponse,
|
BlocklistItem as SonarrBlocklistItem, BlocklistResponse as SonarrBlocklistResponse,
|
||||||
SonarrSerdeable,
|
SonarrSerdeable,
|
||||||
},
|
},
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{
|
network::{
|
||||||
radarr_network::RadarrEvent, sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent,
|
MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent, sonarr_network::SonarrEvent,
|
||||||
},
|
},
|
||||||
Cli,
|
|
||||||
};
|
};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::{command, Subcommand};
|
use clap::{Subcommand, command};
|
||||||
use clap_complete::Shell;
|
use clap_complete::Shell;
|
||||||
use radarr::{RadarrCliHandler, RadarrCommand};
|
use radarr::{RadarrCliHandler, RadarrCommand};
|
||||||
use sonarr::{SonarrCliHandler, SonarrCommand};
|
use sonarr::{SonarrCliHandler, SonarrCommand};
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::{arg, command, ArgAction, Subcommand};
|
use clap::{ArgAction, Subcommand, arg, command};
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
use super::RadarrCommand;
|
use super::RadarrCommand;
|
||||||
@@ -10,7 +10,7 @@ use crate::{
|
|||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
models::radarr_models::{AddMovieBody, AddMovieOptions, MinimumAvailability, MovieMonitor},
|
models::radarr_models::{AddMovieBody, AddMovieOptions, MinimumAvailability, MovieMonitor},
|
||||||
network::{radarr_network::RadarrEvent, NetworkTrait},
|
network::{NetworkTrait, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use clap::{error::ErrorKind, CommandFactory, Parser};
|
use clap::{CommandFactory, Parser, error::ErrorKind};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
|
Cli,
|
||||||
cli::{
|
cli::{
|
||||||
radarr::{add_command_handler::RadarrAddCommand, RadarrCommand},
|
|
||||||
Command,
|
Command,
|
||||||
|
radarr::{RadarrCommand, add_command_handler::RadarrAddCommand},
|
||||||
},
|
},
|
||||||
models::radarr_models::{MinimumAvailability, MovieMonitor},
|
models::radarr_models::{MinimumAvailability, MovieMonitor},
|
||||||
Cli,
|
|
||||||
};
|
};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
@@ -357,12 +357,12 @@ mod tests {
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{radarr::add_command_handler::RadarrAddCommandHandler, CliCommandHandler},
|
cli::{CliCommandHandler, radarr::add_command_handler::RadarrAddCommandHandler},
|
||||||
models::{
|
models::{
|
||||||
radarr_models::{AddMovieBody, AddMovieOptions, RadarrSerdeable},
|
|
||||||
Serdeable,
|
Serdeable,
|
||||||
|
radarr_models::{AddMovieBody, AddMovieOptions, RadarrSerdeable},
|
||||||
},
|
},
|
||||||
network::{radarr_network::RadarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use crate::{
|
|||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
models::radarr_models::DeleteMovieParams,
|
models::radarr_models::DeleteMovieParams,
|
||||||
network::{radarr_network::RadarrEvent, NetworkTrait},
|
network::{NetworkTrait, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::RadarrCommand;
|
use super::RadarrCommand;
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::{
|
use crate::{
|
||||||
cli::{
|
|
||||||
radarr::{delete_command_handler::RadarrDeleteCommand, RadarrCommand},
|
|
||||||
Command,
|
|
||||||
},
|
|
||||||
Cli,
|
Cli,
|
||||||
|
cli::{
|
||||||
|
Command,
|
||||||
|
radarr::{RadarrCommand, delete_command_handler::RadarrDeleteCommand},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
use clap::{error::ErrorKind, CommandFactory, Parser};
|
use clap::{CommandFactory, Parser, error::ErrorKind};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -251,14 +251,14 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
radarr::delete_command_handler::{RadarrDeleteCommand, RadarrDeleteCommandHandler},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
radarr::delete_command_handler::{RadarrDeleteCommand, RadarrDeleteCommandHandler},
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
radarr_models::{DeleteMovieParams, RadarrSerdeable},
|
|
||||||
Serdeable,
|
Serdeable,
|
||||||
|
radarr_models::{DeleteMovieParams, RadarrSerdeable},
|
||||||
},
|
},
|
||||||
network::{radarr_network::RadarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -6,15 +6,15 @@ use tokio::sync::Mutex;
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{mutex_flags_or_default, mutex_flags_or_option, CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command, mutex_flags_or_default, mutex_flags_or_option},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
radarr_models::{
|
radarr_models::{
|
||||||
EditCollectionParams, EditMovieParams, IndexerSettings, MinimumAvailability, RadarrSerdeable,
|
EditCollectionParams, EditMovieParams, IndexerSettings, MinimumAvailability, RadarrSerdeable,
|
||||||
},
|
},
|
||||||
servarr_models::EditIndexerParams,
|
servarr_models::EditIndexerParams,
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{radarr_network::RadarrEvent, NetworkTrait},
|
network::{NetworkTrait, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::RadarrCommand;
|
use super::RadarrCommand;
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::{
|
use crate::{
|
||||||
cli::{
|
|
||||||
radarr::{edit_command_handler::RadarrEditCommand, RadarrCommand},
|
|
||||||
Command,
|
|
||||||
},
|
|
||||||
Cli,
|
Cli,
|
||||||
|
cli::{
|
||||||
|
Command,
|
||||||
|
radarr::{RadarrCommand, edit_command_handler::RadarrEditCommand},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
use clap::{error::ErrorKind, CommandFactory, Parser};
|
use clap::{CommandFactory, Parser, error::ErrorKind};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -805,18 +805,18 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
radarr::edit_command_handler::{RadarrEditCommand, RadarrEditCommandHandler},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
radarr::edit_command_handler::{RadarrEditCommand, RadarrEditCommandHandler},
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
radarr_models::{
|
radarr_models::{
|
||||||
EditCollectionParams, EditMovieParams, IndexerSettings, MinimumAvailability,
|
EditCollectionParams, EditMovieParams, IndexerSettings, MinimumAvailability,
|
||||||
RadarrSerdeable,
|
RadarrSerdeable,
|
||||||
},
|
},
|
||||||
servarr_models::EditIndexerParams,
|
servarr_models::EditIndexerParams,
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{radarr_network::RadarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
@@ -962,8 +962,8 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn test_handle_edit_all_indexer_settings_command_unprovided_values_default_to_previous_values(
|
async fn test_handle_edit_all_indexer_settings_command_unprovided_values_default_to_previous_values()
|
||||||
) {
|
{
|
||||||
let expected_edit_all_indexer_settings = IndexerSettings {
|
let expected_edit_all_indexer_settings = IndexerSettings {
|
||||||
allow_hardcoded_subs: true,
|
allow_hardcoded_subs: true,
|
||||||
availability_delay: 2,
|
availability_delay: 2,
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::{command, Subcommand};
|
use clap::{Subcommand, command};
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{radarr_network::RadarrEvent, NetworkTrait},
|
network::{NetworkTrait, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::RadarrCommand;
|
use super::RadarrCommand;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use clap::error::ErrorKind;
|
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
|
use clap::error::ErrorKind;
|
||||||
|
|
||||||
use crate::cli::radarr::get_command_handler::RadarrGetCommand;
|
|
||||||
use crate::cli::radarr::RadarrCommand;
|
|
||||||
use crate::cli::Command;
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::Command;
|
||||||
|
use crate::cli::radarr::RadarrCommand;
|
||||||
|
use crate::cli::radarr::get_command_handler::RadarrGetCommand;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -117,11 +117,11 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
radarr::get_command_handler::{RadarrGetCommand, RadarrGetCommandHandler},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
radarr::get_command_handler::{RadarrGetCommand, RadarrGetCommandHandler},
|
||||||
},
|
},
|
||||||
models::{radarr_models::RadarrSerdeable, Serdeable},
|
models::{Serdeable, radarr_models::RadarrSerdeable},
|
||||||
network::{radarr_network::RadarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
use clap::{command, Subcommand};
|
use clap::{Subcommand, command};
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{radarr_network::RadarrEvent, NetworkTrait},
|
network::{NetworkTrait, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::RadarrCommand;
|
use super::RadarrCommand;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use clap::error::ErrorKind;
|
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
|
use clap::error::ErrorKind;
|
||||||
|
|
||||||
use crate::cli::radarr::list_command_handler::RadarrListCommand;
|
|
||||||
use crate::cli::radarr::RadarrCommand;
|
|
||||||
use crate::cli::Command;
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::Command;
|
||||||
|
use crate::cli::radarr::RadarrCommand;
|
||||||
|
use crate::cli::radarr::list_command_handler::RadarrListCommand;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -135,8 +135,8 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::radarr::list_command_handler::{RadarrListCommand, RadarrListCommandHandler},
|
cli::radarr::list_command_handler::{RadarrListCommand, RadarrListCommandHandler},
|
||||||
models::{radarr_models::RadarrSerdeable, Serdeable},
|
models::{Serdeable, radarr_models::RadarrSerdeable},
|
||||||
network::{radarr_network::RadarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ use crate::app::App;
|
|||||||
|
|
||||||
use crate::cli::CliCommandHandler;
|
use crate::cli::CliCommandHandler;
|
||||||
use crate::models::radarr_models::{RadarrReleaseDownloadBody, RadarrTaskName};
|
use crate::models::radarr_models::{RadarrReleaseDownloadBody, RadarrTaskName};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
|
||||||
use crate::network::NetworkTrait;
|
use crate::network::NetworkTrait;
|
||||||
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use anyhow::Result;
|
use anyhow::Result;
|
||||||
|
|
||||||
use super::Command;
|
use super::Command;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use clap::error::ErrorKind;
|
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
|
use clap::error::ErrorKind;
|
||||||
|
|
||||||
use crate::cli::radarr::RadarrCommand;
|
|
||||||
use crate::cli::Command;
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::Command;
|
||||||
|
use crate::cli::radarr::RadarrCommand;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -276,22 +276,22 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
radarr::{
|
|
||||||
add_command_handler::RadarrAddCommand, delete_command_handler::RadarrDeleteCommand,
|
|
||||||
edit_command_handler::RadarrEditCommand, get_command_handler::RadarrGetCommand,
|
|
||||||
list_command_handler::RadarrListCommand, refresh_command_handler::RadarrRefreshCommand,
|
|
||||||
RadarrCliHandler, RadarrCommand,
|
|
||||||
},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
radarr::{
|
||||||
|
RadarrCliHandler, RadarrCommand, add_command_handler::RadarrAddCommand,
|
||||||
|
delete_command_handler::RadarrDeleteCommand, edit_command_handler::RadarrEditCommand,
|
||||||
|
get_command_handler::RadarrGetCommand, list_command_handler::RadarrListCommand,
|
||||||
|
refresh_command_handler::RadarrRefreshCommand,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
radarr_models::{
|
radarr_models::{
|
||||||
BlocklistItem, BlocklistResponse, IndexerSettings, RadarrReleaseDownloadBody,
|
BlocklistItem, BlocklistResponse, IndexerSettings, RadarrReleaseDownloadBody,
|
||||||
RadarrSerdeable, RadarrTaskName,
|
RadarrSerdeable, RadarrTaskName,
|
||||||
},
|
},
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{radarr_network::RadarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use tokio::sync::Mutex;
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{radarr_network::RadarrEvent, NetworkTrait},
|
network::{NetworkTrait, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::RadarrCommand;
|
use super::RadarrCommand;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use clap::error::ErrorKind;
|
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
|
use clap::error::ErrorKind;
|
||||||
|
|
||||||
use crate::cli::radarr::refresh_command_handler::RadarrRefreshCommand;
|
|
||||||
use crate::cli::radarr::RadarrCommand;
|
|
||||||
use crate::cli::Command;
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::Command;
|
||||||
|
use crate::cli::radarr::RadarrCommand;
|
||||||
|
use crate::cli::radarr::refresh_command_handler::RadarrRefreshCommand;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -73,8 +73,8 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::radarr::refresh_command_handler::{RadarrRefreshCommand, RadarrRefreshCommandHandler},
|
cli::radarr::refresh_command_handler::{RadarrRefreshCommand, RadarrRefreshCommandHandler},
|
||||||
models::{radarr_models::RadarrSerdeable, Serdeable},
|
models::{Serdeable, radarr_models::RadarrSerdeable},
|
||||||
network::{radarr_network::RadarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, radarr_network::RadarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[rstest]
|
#[rstest]
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ use crate::{
|
|||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
models::sonarr_models::{AddSeriesBody, AddSeriesOptions, SeriesMonitor, SeriesType},
|
models::sonarr_models::{AddSeriesBody, AddSeriesOptions, SeriesMonitor, SeriesType},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use clap::{error::ErrorKind, CommandFactory, Parser};
|
use clap::{CommandFactory, Parser, error::ErrorKind};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
cli::{
|
|
||||||
sonarr::{add_command_handler::SonarrAddCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
},
|
|
||||||
Cli,
|
Cli,
|
||||||
|
cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, add_command_handler::SonarrAddCommand},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -456,14 +456,14 @@ mod tests {
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{sonarr::add_command_handler::SonarrAddCommandHandler, CliCommandHandler},
|
cli::{CliCommandHandler, sonarr::add_command_handler::SonarrAddCommandHandler},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
sonarr_models::{
|
sonarr_models::{
|
||||||
AddSeriesBody, AddSeriesOptions, SeriesMonitor, SeriesType, SonarrSerdeable,
|
AddSeriesBody, AddSeriesOptions, SeriesMonitor, SeriesType, SonarrSerdeable,
|
||||||
},
|
},
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use crate::{
|
|||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
models::sonarr_models::DeleteSeriesParams,
|
models::sonarr_models::DeleteSeriesParams,
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::{
|
use crate::{
|
||||||
cli::{
|
|
||||||
sonarr::{delete_command_handler::SonarrDeleteCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
},
|
|
||||||
Cli,
|
Cli,
|
||||||
|
cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, delete_command_handler::SonarrDeleteCommand},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
use clap::{error::ErrorKind, CommandFactory, Parser};
|
use clap::{CommandFactory, Parser, error::ErrorKind};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -284,14 +284,14 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
sonarr::delete_command_handler::{SonarrDeleteCommand, SonarrDeleteCommandHandler},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
sonarr::delete_command_handler::{SonarrDeleteCommand, SonarrDeleteCommandHandler},
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
sonarr_models::{DeleteSeriesParams, SonarrSerdeable},
|
|
||||||
Serdeable,
|
Serdeable,
|
||||||
|
sonarr_models::{DeleteSeriesParams, SonarrSerdeable},
|
||||||
},
|
},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use crate::{
|
|||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
models::sonarr_models::SonarrReleaseDownloadBody,
|
models::sonarr_models::SonarrReleaseDownloadBody,
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::{
|
use crate::{
|
||||||
cli::{
|
|
||||||
sonarr::{download_command_handler::SonarrDownloadCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
},
|
|
||||||
Cli,
|
Cli,
|
||||||
|
cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, download_command_handler::SonarrDownloadCommand},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
@@ -303,14 +303,14 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
sonarr::download_command_handler::{SonarrDownloadCommand, SonarrDownloadCommandHandler},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
sonarr::download_command_handler::{SonarrDownloadCommand, SonarrDownloadCommandHandler},
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
sonarr_models::{SonarrReleaseDownloadBody, SonarrSerdeable},
|
|
||||||
Serdeable,
|
Serdeable,
|
||||||
|
sonarr_models::{SonarrReleaseDownloadBody, SonarrSerdeable},
|
||||||
},
|
},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ use tokio::sync::Mutex;
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{mutex_flags_or_option, CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command, mutex_flags_or_option},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
servarr_models::EditIndexerParams,
|
servarr_models::EditIndexerParams,
|
||||||
sonarr_models::{EditSeriesParams, IndexerSettings, SeriesType, SonarrSerdeable},
|
sonarr_models::{EditSeriesParams, IndexerSettings, SeriesType, SonarrSerdeable},
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::cli::{
|
use crate::cli::{
|
||||||
sonarr::{edit_command_handler::SonarrEditCommand, SonarrCommand},
|
|
||||||
Command,
|
Command,
|
||||||
|
sonarr::{SonarrCommand, edit_command_handler::SonarrEditCommand},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -20,10 +20,10 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mod cli {
|
mod cli {
|
||||||
use crate::{models::sonarr_models::SeriesType, Cli};
|
use crate::{Cli, models::sonarr_models::SeriesType};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
use clap::{error::ErrorKind, CommandFactory, Parser};
|
use clap::{CommandFactory, Parser, error::ErrorKind};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -609,15 +609,15 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
sonarr::edit_command_handler::{SonarrEditCommand, SonarrEditCommandHandler},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
sonarr::edit_command_handler::{SonarrEditCommand, SonarrEditCommandHandler},
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
servarr_models::EditIndexerParams,
|
servarr_models::EditIndexerParams,
|
||||||
sonarr_models::{EditSeriesParams, IndexerSettings, SeriesType, SonarrSerdeable},
|
sonarr_models::{EditSeriesParams, IndexerSettings, SeriesType, SonarrSerdeable},
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use tokio::sync::Mutex;
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::cli::{
|
|
||||||
sonarr::{get_command_handler::SonarrGetCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
};
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, get_command_handler::SonarrGetCommand},
|
||||||
|
};
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
@@ -118,11 +118,11 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
sonarr::get_command_handler::{SonarrGetCommand, SonarrGetCommandHandler},
|
|
||||||
CliCommandHandler,
|
CliCommandHandler,
|
||||||
|
sonarr::get_command_handler::{SonarrGetCommand, SonarrGetCommandHandler},
|
||||||
},
|
},
|
||||||
models::{sonarr_models::SonarrSerdeable, Serdeable},
|
models::{Serdeable, sonarr_models::SonarrSerdeable},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use tokio::sync::Mutex;
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::cli::{
|
|
||||||
sonarr::{list_command_handler::SonarrListCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
};
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, list_command_handler::SonarrListCommand},
|
||||||
|
};
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ mod tests {
|
|||||||
|
|
||||||
mod cli {
|
mod cli {
|
||||||
use super::*;
|
use super::*;
|
||||||
use clap::{error::ErrorKind, Parser};
|
use clap::{Parser, error::ErrorKind};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -296,10 +296,10 @@ mod tests {
|
|||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
use tokio::sync::Mutex;
|
use tokio::sync::Mutex;
|
||||||
|
|
||||||
use crate::cli::sonarr::list_command_handler::{SonarrListCommand, SonarrListCommandHandler};
|
|
||||||
use crate::cli::CliCommandHandler;
|
use crate::cli::CliCommandHandler;
|
||||||
use crate::models::sonarr_models::SonarrSerdeable;
|
use crate::cli::sonarr::list_command_handler::{SonarrListCommand, SonarrListCommandHandler};
|
||||||
use crate::models::Serdeable;
|
use crate::models::Serdeable;
|
||||||
|
use crate::models::sonarr_models::SonarrSerdeable;
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use tokio::sync::Mutex;
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::cli::{
|
|
||||||
sonarr::{manual_search_command_handler::SonarrManualSearchCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
};
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, manual_search_command_handler::SonarrManualSearchCommand},
|
||||||
|
};
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
@@ -114,13 +114,13 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
|
CliCommandHandler,
|
||||||
sonarr::manual_search_command_handler::{
|
sonarr::manual_search_command_handler::{
|
||||||
SonarrManualSearchCommand, SonarrManualSearchCommandHandler,
|
SonarrManualSearchCommand, SonarrManualSearchCommandHandler,
|
||||||
},
|
},
|
||||||
CliCommandHandler,
|
|
||||||
},
|
},
|
||||||
models::{sonarr_models::SonarrSerdeable, Serdeable},
|
models::{Serdeable, sonarr_models::SonarrSerdeable},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ use trigger_automatic_search_command_handler::{
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
models::sonarr_models::SonarrTaskName,
|
models::sonarr_models::SonarrTaskName,
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::{CliCommandHandler, Command};
|
use super::{CliCommandHandler, Command};
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use tokio::sync::Mutex;
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
mod tests {
|
mod tests {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
use crate::cli::{
|
|
||||||
sonarr::{refresh_command_handler::SonarrRefreshCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
};
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, refresh_command_handler::SonarrRefreshCommand},
|
||||||
|
};
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -20,7 +20,7 @@ mod tests {
|
|||||||
|
|
||||||
mod cli {
|
mod cli {
|
||||||
use super::*;
|
use super::*;
|
||||||
use clap::{error::ErrorKind, Parser};
|
use clap::{Parser, error::ErrorKind};
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -77,11 +77,11 @@ mod tests {
|
|||||||
|
|
||||||
use crate::{app::App, cli::sonarr::refresh_command_handler::SonarrRefreshCommandHandler};
|
use crate::{app::App, cli::sonarr::refresh_command_handler::SonarrRefreshCommandHandler};
|
||||||
use crate::{
|
use crate::{
|
||||||
cli::{sonarr::refresh_command_handler::SonarrRefreshCommand, CliCommandHandler},
|
cli::{CliCommandHandler, sonarr::refresh_command_handler::SonarrRefreshCommand},
|
||||||
network::sonarr_network::SonarrEvent,
|
network::sonarr_network::SonarrEvent,
|
||||||
};
|
};
|
||||||
use crate::{
|
use crate::{
|
||||||
models::{sonarr_models::SonarrSerdeable, Serdeable},
|
models::{Serdeable, sonarr_models::SonarrSerdeable},
|
||||||
network::{MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::cli::{
|
|
||||||
sonarr::{list_command_handler::SonarrListCommand, SonarrCommand},
|
|
||||||
Command,
|
|
||||||
};
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{SonarrCommand, list_command_handler::SonarrListCommand},
|
||||||
|
};
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
@@ -253,25 +253,25 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
|
CliCommandHandler,
|
||||||
sonarr::{
|
sonarr::{
|
||||||
add_command_handler::SonarrAddCommand, delete_command_handler::SonarrDeleteCommand,
|
SonarrCliHandler, SonarrCommand, add_command_handler::SonarrAddCommand,
|
||||||
|
delete_command_handler::SonarrDeleteCommand,
|
||||||
download_command_handler::SonarrDownloadCommand, edit_command_handler::SonarrEditCommand,
|
download_command_handler::SonarrDownloadCommand, edit_command_handler::SonarrEditCommand,
|
||||||
get_command_handler::SonarrGetCommand, list_command_handler::SonarrListCommand,
|
get_command_handler::SonarrGetCommand, list_command_handler::SonarrListCommand,
|
||||||
manual_search_command_handler::SonarrManualSearchCommand,
|
manual_search_command_handler::SonarrManualSearchCommand,
|
||||||
refresh_command_handler::SonarrRefreshCommand,
|
refresh_command_handler::SonarrRefreshCommand,
|
||||||
trigger_automatic_search_command_handler::SonarrTriggerAutomaticSearchCommand,
|
trigger_automatic_search_command_handler::SonarrTriggerAutomaticSearchCommand,
|
||||||
SonarrCliHandler, SonarrCommand,
|
|
||||||
},
|
},
|
||||||
CliCommandHandler,
|
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
|
Serdeable,
|
||||||
sonarr_models::{
|
sonarr_models::{
|
||||||
BlocklistItem, BlocklistResponse, IndexerSettings, Series, SonarrReleaseDownloadBody,
|
BlocklistItem, BlocklistResponse, IndexerSettings, Series, SonarrReleaseDownloadBody,
|
||||||
SonarrSerdeable, SonarrTaskName,
|
SonarrSerdeable, SonarrTaskName,
|
||||||
},
|
},
|
||||||
Serdeable,
|
|
||||||
},
|
},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
@@ -488,8 +488,8 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn test_sonarr_cli_handler_delegates_manual_search_commands_to_the_manual_search_command_handler(
|
async fn test_sonarr_cli_handler_delegates_manual_search_commands_to_the_manual_search_command_handler()
|
||||||
) {
|
{
|
||||||
let expected_episode_id = 1;
|
let expected_episode_id = 1;
|
||||||
let mut mock_network = MockNetworkTrait::new();
|
let mut mock_network = MockNetworkTrait::new();
|
||||||
mock_network
|
mock_network
|
||||||
@@ -516,8 +516,8 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn test_sonarr_cli_handler_delegates_trigger_automatic_search_commands_to_the_trigger_automatic_search_command_handler(
|
async fn test_sonarr_cli_handler_delegates_trigger_automatic_search_commands_to_the_trigger_automatic_search_command_handler()
|
||||||
) {
|
{
|
||||||
let expected_episode_id = 1;
|
let expected_episode_id = 1;
|
||||||
let mut mock_network = MockNetworkTrait::new();
|
let mut mock_network = MockNetworkTrait::new();
|
||||||
mock_network
|
mock_network
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ use tokio::sync::Mutex;
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{CliCommandHandler, Command},
|
cli::{CliCommandHandler, Command},
|
||||||
network::{sonarr_network::SonarrEvent, NetworkTrait},
|
network::{NetworkTrait, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::SonarrCommand;
|
use super::SonarrCommand;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::cli::{
|
|
||||||
sonarr::{
|
|
||||||
trigger_automatic_search_command_handler::SonarrTriggerAutomaticSearchCommand, SonarrCommand,
|
|
||||||
},
|
|
||||||
Command,
|
|
||||||
};
|
|
||||||
use crate::Cli;
|
use crate::Cli;
|
||||||
|
use crate::cli::{
|
||||||
|
Command,
|
||||||
|
sonarr::{
|
||||||
|
SonarrCommand, trigger_automatic_search_command_handler::SonarrTriggerAutomaticSearchCommand,
|
||||||
|
},
|
||||||
|
};
|
||||||
use clap::CommandFactory;
|
use clap::CommandFactory;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
@@ -150,13 +150,13 @@ mod tests {
|
|||||||
use crate::{
|
use crate::{
|
||||||
app::App,
|
app::App,
|
||||||
cli::{
|
cli::{
|
||||||
|
CliCommandHandler,
|
||||||
sonarr::trigger_automatic_search_command_handler::{
|
sonarr::trigger_automatic_search_command_handler::{
|
||||||
SonarrTriggerAutomaticSearchCommand, SonarrTriggerAutomaticSearchCommandHandler,
|
SonarrTriggerAutomaticSearchCommand, SonarrTriggerAutomaticSearchCommandHandler,
|
||||||
},
|
},
|
||||||
CliCommandHandler,
|
|
||||||
},
|
},
|
||||||
models::{sonarr_models::SonarrSerdeable, Serdeable},
|
models::{Serdeable, sonarr_models::SonarrSerdeable},
|
||||||
network::{sonarr_network::SonarrEvent, MockNetworkTrait, NetworkEvent},
|
network::{MockNetworkTrait, NetworkEvent, sonarr_network::SonarrEvent},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
|||||||
@@ -28,14 +28,14 @@ impl Events {
|
|||||||
let timeout = tick_rate
|
let timeout = tick_rate
|
||||||
.checked_sub(last_tick.elapsed())
|
.checked_sub(last_tick.elapsed())
|
||||||
.unwrap_or_else(|| Duration::from_secs(0));
|
.unwrap_or_else(|| Duration::from_secs(0));
|
||||||
if event::poll(timeout).unwrap() {
|
if event::poll(timeout).unwrap()
|
||||||
if let CrosstermEvent::Key(key_event) = event::read().unwrap() {
|
&& let CrosstermEvent::Key(key_event) = event::read().unwrap()
|
||||||
// Only process the key event if it's a press event
|
{
|
||||||
// Source: https://ratatui.rs/faq/ Why am I getting duplicate key events on Windows?
|
// Only process the key event if it's a press event
|
||||||
if key_event.kind == KeyEventKind::Press {
|
// Source: https://ratatui.rs/faq/ Why am I getting duplicate key events on Windows?
|
||||||
let key = Key::from(key_event);
|
if key_event.kind == KeyEventKind::Press {
|
||||||
tx.send(InputEvent::KeyEvent(key)).unwrap();
|
let key = Key::from(key_event);
|
||||||
}
|
tx.send(InputEvent::KeyEvent(key)).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,22 +6,22 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use tokio_util::sync::CancellationToken;
|
use tokio_util::sync::CancellationToken;
|
||||||
|
|
||||||
|
use crate::app::App;
|
||||||
use crate::app::context_clues::SERVARR_CONTEXT_CLUES;
|
use crate::app::context_clues::SERVARR_CONTEXT_CLUES;
|
||||||
use crate::app::key_binding::{KeyBinding, DEFAULT_KEYBINDINGS};
|
use crate::app::key_binding::{DEFAULT_KEYBINDINGS, KeyBinding};
|
||||||
use crate::app::radarr::radarr_context_clues::{
|
use crate::app::radarr::radarr_context_clues::{
|
||||||
LIBRARY_CONTEXT_CLUES, MOVIE_DETAILS_CONTEXT_CLUES,
|
LIBRARY_CONTEXT_CLUES, MOVIE_DETAILS_CONTEXT_CLUES,
|
||||||
};
|
};
|
||||||
use crate::app::App;
|
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle};
|
use crate::handlers::{handle_clear_errors, handle_prompt_toggle};
|
||||||
use crate::handlers::{handle_events, populate_keymapping_table};
|
use crate::handlers::{handle_events, populate_keymapping_table};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, RadarrData};
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
|
||||||
use crate::models::servarr_data::ActiveKeybindingBlock;
|
|
||||||
use crate::models::servarr_models::KeybindingItem;
|
|
||||||
use crate::models::stateful_table::StatefulTable;
|
|
||||||
use crate::models::HorizontallyScrollableText;
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::Route;
|
use crate::models::Route;
|
||||||
|
use crate::models::servarr_data::ActiveKeybindingBlock;
|
||||||
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, RadarrData};
|
||||||
|
use crate::models::servarr_data::sonarr::sonarr_data::ActiveSonarrBlock;
|
||||||
|
use crate::models::servarr_models::KeybindingItem;
|
||||||
|
use crate::models::stateful_table::StatefulTable;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_handle_clear_errors() {
|
fn test_handle_clear_errors() {
|
||||||
@@ -119,8 +119,8 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_handle_empties_keybindings_table_on_help_button_press_when_keybindings_table_is_already_populated(
|
fn test_handle_empties_keybindings_table_on_help_button_press_when_keybindings_table_is_already_populated()
|
||||||
) {
|
{
|
||||||
let mut app = App::test_default();
|
let mut app = App::test_default();
|
||||||
let keybinding_items = Vec::from(SERVARR_CONTEXT_CLUES)
|
let keybinding_items = Vec::from(SERVARR_CONTEXT_CLUES)
|
||||||
.iter()
|
.iter()
|
||||||
@@ -251,8 +251,8 @@ mod tests {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_populate_keymapping_table_populates_delegated_servarr_context_provider_options_before_global_options(
|
fn test_populate_keymapping_table_populates_delegated_servarr_context_provider_options_before_global_options()
|
||||||
) {
|
{
|
||||||
let mut expected_keybinding_items = MOVIE_DETAILS_CONTEXT_CLUES
|
let mut expected_keybinding_items = MOVIE_DETAILS_CONTEXT_CLUES
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(key, desc)| context_clue_to_keybinding_item(key, desc))
|
.map(|(key, desc)| context_clue_to_keybinding_item(key, desc))
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handle_table_events;
|
use crate::handle_table_events;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::models::servarr_data::ActiveKeybindingBlock;
|
use crate::models::servarr_data::ActiveKeybindingBlock;
|
||||||
use crate::models::servarr_models::KeybindingItem;
|
use crate::models::servarr_models::KeybindingItem;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::KeybindingHandler;
|
use crate::handlers::KeybindingHandler;
|
||||||
|
|||||||
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
use radarr_handlers::RadarrHandler;
|
use radarr_handlers::RadarrHandler;
|
||||||
use sonarr_handlers::SonarrHandler;
|
use sonarr_handlers::SonarrHandler;
|
||||||
|
|
||||||
|
use crate::app::App;
|
||||||
use crate::app::context_clues::{
|
use crate::app::context_clues::{
|
||||||
ContextClueProvider, ServarrContextClueProvider, SERVARR_CONTEXT_CLUES,
|
ContextClueProvider, SERVARR_CONTEXT_CLUES, ServarrContextClueProvider,
|
||||||
};
|
};
|
||||||
use crate::app::key_binding::KeyBinding;
|
use crate::app::key_binding::KeyBinding;
|
||||||
use crate::app::App;
|
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::keybinding_handler::KeybindingHandler;
|
use crate::handlers::keybinding_handler::KeybindingHandler;
|
||||||
use crate::matches_key;
|
use crate::matches_key;
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::blocklist::{blocklist_sorting_options, BlocklistHandler};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::blocklist::{BlocklistHandler, blocklist_sorting_options};
|
||||||
use crate::models::radarr_models::{BlocklistItem, BlocklistItemMovie};
|
use crate::models::radarr_models::{BlocklistItem, BlocklistItemMovie};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, BLOCKLIST_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, BLOCKLIST_BLOCKS};
|
||||||
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use crate::app::App;
|
|||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
use crate::models::radarr_models::BlocklistItem;
|
use crate::models::radarr_models::BlocklistItem;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, BLOCKLIST_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, BLOCKLIST_BLOCKS};
|
||||||
use crate::models::stateful_table::SortOption;
|
use crate::models::stateful_table::SortOption;
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::CollectionMovie;
|
use crate::models::radarr_models::CollectionMovie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, ADD_MOVIE_SELECTION_BLOCKS, COLLECTION_DETAILS_BLOCKS,
|
ADD_MOVIE_SELECTION_BLOCKS, ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS,
|
||||||
EDIT_COLLECTION_SELECTION_BLOCKS,
|
EDIT_COLLECTION_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::{handle_table_events, matches_key};
|
use crate::{handle_table_events, matches_key};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::collections::collection_details_handler::CollectionDetailsHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::collections::collection_details_handler::CollectionDetailsHandler;
|
||||||
use crate::models::radarr_models::CollectionMovie;
|
use crate::models::radarr_models::CollectionMovie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS,
|
ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS,
|
||||||
@@ -18,9 +18,9 @@ mod tests {
|
|||||||
use bimap::BiMap;
|
use bimap::BiMap;
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -59,37 +59,43 @@ mod tests {
|
|||||||
)
|
)
|
||||||
.into()
|
.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.add_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.add_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.monitor_list
|
.unwrap()
|
||||||
.items
|
.monitor_list
|
||||||
.is_empty());
|
.items
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.data.radarr_data.selected_block.get_active_block(),
|
app.data.radarr_data.selected_block.get_active_block(),
|
||||||
ActiveRadarrBlock::AddMovieSelectRootFolder
|
ActiveRadarrBlock::AddMovieSelectRootFolder
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.add_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.add_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.minimum_availability_list
|
.unwrap()
|
||||||
.items
|
.minimum_availability_list
|
||||||
.is_empty());
|
.items
|
||||||
assert!(!app
|
.is_empty()
|
||||||
.data
|
);
|
||||||
.radarr_data
|
assert!(
|
||||||
.add_movie_modal
|
!app
|
||||||
.as_ref()
|
.data
|
||||||
.unwrap()
|
.radarr_data
|
||||||
.quality_profile_list
|
.add_movie_modal
|
||||||
.items
|
.as_ref()
|
||||||
.is_empty());
|
.unwrap()
|
||||||
|
.quality_profile_list
|
||||||
|
.items
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_str_eq!(
|
assert_str_eq!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
@@ -221,7 +227,7 @@ mod tests {
|
|||||||
use crate::models::radarr_models::{Collection, MinimumAvailability};
|
use crate::models::radarr_models::{Collection, MinimumAvailability};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_COLLECTION_SELECTION_BLOCKS,
|
EDIT_COLLECTION_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::test_edit_collection_key;
|
use crate::test_edit_collection_key;
|
||||||
|
|
||||||
|
|||||||
@@ -7,16 +7,16 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::collections::{
|
|
||||||
collections_sorting_options, CollectionsHandler,
|
|
||||||
};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::collections::{
|
||||||
|
CollectionsHandler, collections_sorting_options,
|
||||||
|
};
|
||||||
use crate::models::radarr_models::{Collection, CollectionMovie};
|
use crate::models::radarr_models::{Collection, CollectionMovie};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, COLLECTIONS_BLOCKS, COLLECTION_DETAILS_BLOCKS, EDIT_COLLECTION_BLOCKS,
|
ActiveRadarrBlock, COLLECTION_DETAILS_BLOCKS, COLLECTIONS_BLOCKS, EDIT_COLLECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::test_handler_delegation;
|
use crate::test_handler_delegation;
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ mod tests {
|
|||||||
use crate::models::radarr_models::MinimumAvailability;
|
use crate::models::radarr_models::MinimumAvailability;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_COLLECTION_SELECTION_BLOCKS,
|
EDIT_COLLECTION_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::test_edit_collection_key;
|
use crate::test_edit_collection_key;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
|
use crate::models::Scrollable;
|
||||||
use crate::models::radarr_models::EditCollectionParams;
|
use crate::models::radarr_models::EditCollectionParams;
|
||||||
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_COLLECTION_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_COLLECTION_BLOCKS};
|
||||||
use crate::models::Scrollable;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{handle_text_box_keys, handle_text_box_left_right_keys, matches_key};
|
use crate::{handle_text_box_keys, handle_text_box_left_right_keys, matches_key};
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::collections::edit_collection_handler::EditCollectionHandler;
|
use crate::handlers::radarr_handlers::collections::edit_collection_handler::EditCollectionHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::{Collection, EditCollectionParams, MinimumAvailability};
|
use crate::models::radarr_models::{Collection, EditCollectionParams, MinimumAvailability};
|
||||||
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
@@ -22,9 +22,9 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
use crate::models::servarr_data::radarr::modals::EditCollectionModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -475,15 +475,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_collection_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_collection_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.path
|
.unwrap()
|
||||||
.text
|
.path
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditCollectionPrompt.into()
|
ActiveRadarrBlock::EditCollectionPrompt.into()
|
||||||
@@ -884,10 +886,10 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::{
|
use crate::{
|
||||||
models::{
|
models::{
|
||||||
|
BlockSelectionState,
|
||||||
servarr_data::radarr::{
|
servarr_data::radarr::{
|
||||||
modals::EditCollectionModal, radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS,
|
modals::EditCollectionModal, radarr_data::EDIT_COLLECTION_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
BlockSelectionState,
|
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ use crate::handlers::radarr_handlers::collections::collection_details_handler::C
|
|||||||
use crate::handlers::radarr_handlers::collections::edit_collection_handler::EditCollectionHandler;
|
use crate::handlers::radarr_handlers::collections::edit_collection_handler::EditCollectionHandler;
|
||||||
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::Collection;
|
use crate::models::radarr_models::Collection;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, COLLECTIONS_BLOCKS, EDIT_COLLECTION_SELECTION_BLOCKS,
|
ActiveRadarrBlock, COLLECTIONS_BLOCKS, EDIT_COLLECTION_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::stateful_table::SortOption;
|
use crate::models::stateful_table::SortOption;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{handle_table_events, matches_key};
|
use crate::{handle_table_events, matches_key};
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::downloads::DownloadsHandler;
|
use crate::handlers::radarr_handlers::downloads::DownloadsHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::download_record;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::download_record;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::DownloadRecord;
|
use crate::models::radarr_models::DownloadRecord;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DOWNLOADS_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DOWNLOADS_BLOCKS};
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use crate::app::App;
|
|||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
use crate::models::radarr_models::DownloadRecord;
|
use crate::models::radarr_models::DownloadRecord;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DOWNLOADS_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DOWNLOADS_BLOCKS};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_INDEXER_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_INDEXER_BLOCKS};
|
||||||
use crate::models::servarr_models::EditIndexerParams;
|
use crate::models::servarr_models::EditIndexerParams;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
use crate::handlers::radarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_INDEXER_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_INDEXER_BLOCKS};
|
||||||
use crate::models::servarr_models::EditIndexerParams;
|
use crate::models::servarr_models::EditIndexerParams;
|
||||||
@@ -18,9 +18,9 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -419,11 +419,11 @@ mod tests {
|
|||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -852,7 +852,7 @@ mod tests {
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::{
|
use crate::models::{
|
||||||
servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|
||||||
@@ -1053,14 +1053,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1074,14 +1076,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1106,14 +1110,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1127,14 +1133,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1159,14 +1167,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1180,14 +1190,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1211,15 +1223,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.name
|
.unwrap()
|
||||||
.text
|
.name
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1247,15 +1261,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.url
|
.unwrap()
|
||||||
.text
|
.url
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1283,15 +1299,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.api_key
|
.unwrap()
|
||||||
.text
|
.api_key
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1319,15 +1337,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.seed_ratio
|
.unwrap()
|
||||||
.text
|
.seed_ratio
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1355,15 +1375,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.tags
|
.unwrap()
|
||||||
.text
|
.tags
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditIndexerPrompt.into()
|
ActiveRadarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1433,9 +1455,9 @@ mod tests {
|
|||||||
|
|
||||||
mod test_handle_key_char {
|
mod test_handle_key_char {
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, INDEXER_SETTINGS_BLOCKS,
|
ActiveRadarrBlock, INDEXER_SETTINGS_BLOCKS,
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
use crate::handlers::radarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer_settings;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer_settings;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, INDEXER_SETTINGS_BLOCKS,
|
ActiveRadarrBlock, INDEXER_SETTINGS_BLOCKS,
|
||||||
@@ -19,9 +19,9 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -267,9 +267,9 @@ mod tests {
|
|||||||
mod test_handle_left_right_action {
|
mod test_handle_left_right_action {
|
||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::IndexerSettings;
|
use crate::models::radarr_models::IndexerSettings;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -425,8 +425,8 @@ mod tests {
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
models::{
|
models::{
|
||||||
radarr_models::IndexerSettings,
|
BlockSelectionState, radarr_models::IndexerSettings,
|
||||||
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState,
|
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
@@ -736,15 +736,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.indexer_settings
|
.radarr_data
|
||||||
.as_ref()
|
.indexer_settings
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.whitelisted_hardcoded_subs
|
.unwrap()
|
||||||
.text
|
.whitelisted_hardcoded_subs
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::AllIndexerSettingsPrompt.into()
|
ActiveRadarrBlock::AllIndexerSettingsPrompt.into()
|
||||||
@@ -865,8 +867,8 @@ mod tests {
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
models::{
|
models::{
|
||||||
radarr_models::IndexerSettings,
|
BlockSelectionState, radarr_models::IndexerSettings,
|
||||||
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS, BlockSelectionState,
|
servarr_data::radarr::radarr_data::INDEXER_SETTINGS_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::indexers::IndexersHandler;
|
use crate::handlers::radarr_handlers::indexers::IndexersHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, EDIT_INDEXER_BLOCKS, INDEXERS_BLOCKS, INDEXER_SETTINGS_BLOCKS,
|
ActiveRadarrBlock, EDIT_INDEXER_BLOCKS, INDEXER_SETTINGS_BLOCKS, INDEXERS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::Indexer;
|
use crate::models::servarr_models::Indexer;
|
||||||
use crate::test_handler_delegation;
|
use crate::test_handler_delegation;
|
||||||
@@ -128,7 +128,7 @@ mod tests {
|
|||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::indexer;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::{Indexer, IndexerField};
|
use crate::models::servarr_models::{Indexer, IndexerField};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|||||||
@@ -5,13 +5,13 @@ use crate::handlers::radarr_handlers::indexers::edit_indexer_handler::EditIndexe
|
|||||||
use crate::handlers::radarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
use crate::handlers::radarr_handlers::indexers::edit_indexer_settings_handler::IndexerSettingsHandler;
|
||||||
use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
ActiveRadarrBlock, EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
INDEXERS_BLOCKS, INDEXER_SETTINGS_SELECTION_BLOCKS,
|
INDEXER_SETTINGS_SELECTION_BLOCKS, INDEXERS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::Indexer;
|
use crate::models::servarr_models::Indexer;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{handle_table_events, matches_key};
|
use crate::{handle_table_events, matches_key};
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handle_table_events;
|
use crate::handle_table_events;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::indexers::test_all_indexers_handler::TestAllIndexersHandler;
|
||||||
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
use crate::models::servarr_data::modals::IndexerTestResultModalItem;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::models::radarr_models::{
|
use crate::models::radarr_models::{
|
||||||
AddMovieBody, AddMovieOptions, AddMovieSearchResult, CollectionMovie,
|
AddMovieBody, AddMovieOptions, AddMovieSearchResult, CollectionMovie,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, ADD_MOVIE_BLOCKS, ADD_MOVIE_SELECTION_BLOCKS,
|
ADD_MOVIE_BLOCKS, ADD_MOVIE_SELECTION_BLOCKS, ActiveRadarrBlock,
|
||||||
};
|
};
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use crate::models::{BlockSelectionState, Scrollable};
|
use crate::models::{BlockSelectionState, Scrollable};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{
|
use crate::{
|
||||||
handle_table_events, handle_text_box_keys, handle_text_box_left_right_keys, matches_key, App, Key,
|
App, Key, handle_table_events, handle_text_box_keys, handle_text_box_left_right_keys, matches_key,
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -6,18 +6,18 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::library::add_movie_handler::AddMovieHandler;
|
use crate::handlers::radarr_handlers::library::add_movie_handler::AddMovieHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::add_movie_body;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::add_movie_body;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection_movie;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::collection_movie;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::radarr_models::{AddMovieSearchResult, MinimumAvailability, MovieMonitor};
|
use crate::models::radarr_models::{AddMovieSearchResult, MinimumAvailability, MovieMonitor};
|
||||||
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ADD_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ADD_MOVIE_BLOCKS, ActiveRadarrBlock};
|
||||||
use crate::models::servarr_models::RootFolder;
|
use crate::models::servarr_models::RootFolder;
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
use bimap::BiMap;
|
use bimap::BiMap;
|
||||||
|
|
||||||
mod test_handle_scroll_up_and_down {
|
mod test_handle_scroll_up_and_down {
|
||||||
@@ -25,9 +25,9 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::simple_stateful_iterable_vec;
|
use crate::simple_stateful_iterable_vec;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -768,11 +768,11 @@ mod tests {
|
|||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{
|
||||||
add_movie_body, add_movie_search_result, collection_movie,
|
add_movie_body, add_movie_search_result, collection_movie,
|
||||||
};
|
};
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
use crate::models::servarr_data::radarr::modals::AddMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::ADD_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::stateful_table::StatefulTable;
|
use crate::models::stateful_table::StatefulTable;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -848,33 +848,39 @@ mod tests {
|
|||||||
ActiveRadarrBlock::AddMovieSelectRootFolder
|
ActiveRadarrBlock::AddMovieSelectRootFolder
|
||||||
);
|
);
|
||||||
assert!(app.data.radarr_data.add_movie_modal.is_some());
|
assert!(app.data.radarr_data.add_movie_modal.is_some());
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.add_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.add_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.monitor_list
|
.unwrap()
|
||||||
.items
|
.monitor_list
|
||||||
.is_empty());
|
.items
|
||||||
assert!(!app
|
.is_empty()
|
||||||
.data
|
);
|
||||||
.radarr_data
|
assert!(
|
||||||
.add_movie_modal
|
!app
|
||||||
.as_ref()
|
.data
|
||||||
.unwrap()
|
.radarr_data
|
||||||
.minimum_availability_list
|
.add_movie_modal
|
||||||
.items
|
.as_ref()
|
||||||
.is_empty());
|
.unwrap()
|
||||||
assert!(!app
|
.minimum_availability_list
|
||||||
.data
|
.items
|
||||||
.radarr_data
|
.is_empty()
|
||||||
.add_movie_modal
|
);
|
||||||
.as_ref()
|
assert!(
|
||||||
.unwrap()
|
!app
|
||||||
.quality_profile_list
|
.data
|
||||||
.items
|
.radarr_data
|
||||||
.is_empty());
|
.add_movie_modal
|
||||||
|
.as_ref()
|
||||||
|
.unwrap()
|
||||||
|
.quality_profile_list
|
||||||
|
.items
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_str_eq!(
|
assert_str_eq!(
|
||||||
app
|
app
|
||||||
.data
|
.data
|
||||||
@@ -1334,9 +1340,9 @@ mod tests {
|
|||||||
add_movie_body, add_movie_search_result, collection_movie,
|
add_movie_body, add_movie_search_result, collection_movie,
|
||||||
},
|
},
|
||||||
models::{
|
models::{
|
||||||
|
BlockSelectionState,
|
||||||
servarr_data::radarr::{modals::AddMovieModal, radarr_data::ADD_MOVIE_SELECTION_BLOCKS},
|
servarr_data::radarr::{modals::AddMovieModal, radarr_data::ADD_MOVIE_SELECTION_BLOCKS},
|
||||||
stateful_table::StatefulTable,
|
stateful_table::StatefulTable,
|
||||||
BlockSelectionState,
|
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::matches_key;
|
use crate::matches_key;
|
||||||
use crate::models::radarr_models::DeleteMovieParams;
|
use crate::models::radarr_models::DeleteMovieParams;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DELETE_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DELETE_MOVIE_BLOCKS};
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::library::delete_movie_handler::DeleteMovieHandler;
|
use crate::handlers::radarr_handlers::library::delete_movie_handler::DeleteMovieHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::DeleteMovieParams;
|
use crate::models::radarr_models::DeleteMovieParams;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DELETE_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, DELETE_MOVIE_BLOCKS};
|
||||||
|
|
||||||
@@ -17,8 +17,8 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
|
||||||
use crate::models::BlockSelectionState;
|
use crate::models::BlockSelectionState;
|
||||||
|
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -83,8 +83,8 @@ mod tests {
|
|||||||
mod test_handle_submit {
|
mod test_handle_submit {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|
||||||
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
|
||||||
use crate::models::BlockSelectionState;
|
use crate::models::BlockSelectionState;
|
||||||
|
use crate::models::servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
@@ -255,7 +255,7 @@ mod tests {
|
|||||||
mod test_handle_key_char {
|
mod test_handle_key_char {
|
||||||
use crate::{
|
use crate::{
|
||||||
models::{
|
models::{
|
||||||
servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::radarr::radarr_data::DELETE_MOVIE_SELECTION_BLOCKS,
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
|
use crate::models::Scrollable;
|
||||||
use crate::models::radarr_models::EditMovieParams;
|
use crate::models::radarr_models::EditMovieParams;
|
||||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_MOVIE_BLOCKS};
|
||||||
use crate::models::Scrollable;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{handle_text_box_keys, handle_text_box_left_right_keys, matches_key};
|
use crate::{handle_text_box_keys, handle_text_box_left_right_keys, matches_key};
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::library::edit_movie_handler::EditMovieHandler;
|
use crate::handlers::radarr_handlers::library::edit_movie_handler::EditMovieHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::{EditMovieParams, MinimumAvailability, Movie};
|
use crate::models::radarr_models::{EditMovieParams, MinimumAvailability, Movie};
|
||||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_MOVIE_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, EDIT_MOVIE_BLOCKS};
|
||||||
@@ -20,9 +20,9 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
use crate::models::servarr_data::radarr::modals::EditMovieModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::EDIT_MOVIE_SELECTION_BLOCKS;
|
use crate::models::servarr_data::radarr::radarr_data::EDIT_MOVIE_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -566,15 +566,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_movie_modal
|
.radarr_data
|
||||||
.as_ref()
|
.edit_movie_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.path
|
.unwrap()
|
||||||
.text
|
.path
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditMoviePrompt.into()
|
ActiveRadarrBlock::EditMoviePrompt.into()
|
||||||
@@ -601,15 +603,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.radarr_data
|
.data
|
||||||
.edit_movie_modal
|
.radarr_data
|
||||||
.as_mut()
|
.edit_movie_modal
|
||||||
.unwrap()
|
.as_mut()
|
||||||
.tags
|
.unwrap()
|
||||||
.text
|
.tags
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveRadarrBlock::EditMoviePrompt.into()
|
ActiveRadarrBlock::EditMoviePrompt.into()
|
||||||
@@ -964,8 +968,8 @@ mod tests {
|
|||||||
use super::*;
|
use super::*;
|
||||||
use crate::{
|
use crate::{
|
||||||
models::{
|
models::{
|
||||||
servarr_data::radarr::{modals::EditMovieModal, radarr_data::EDIT_MOVIE_SELECTION_BLOCKS},
|
|
||||||
BlockSelectionState,
|
BlockSelectionState,
|
||||||
|
servarr_data::radarr::{modals::EditMovieModal, radarr_data::EDIT_MOVIE_SELECTION_BLOCKS},
|
||||||
},
|
},
|
||||||
network::radarr_network::RadarrEvent,
|
network::radarr_network::RadarrEvent,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -5,15 +5,15 @@ mod tests {
|
|||||||
use std::cmp::Ordering;
|
use std::cmp::Ordering;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::library::{movies_sorting_options, LibraryHandler};
|
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::library::{LibraryHandler, movies_sorting_options};
|
||||||
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::movie;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, ADD_MOVIE_BLOCKS, DELETE_MOVIE_BLOCKS, EDIT_MOVIE_BLOCKS, LIBRARY_BLOCKS,
|
ADD_MOVIE_BLOCKS, ActiveRadarrBlock, DELETE_MOVIE_BLOCKS, EDIT_MOVIE_BLOCKS, LIBRARY_BLOCKS,
|
||||||
MOVIE_DETAILS_BLOCKS,
|
MOVIE_DETAILS_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::servarr_models::Language;
|
use crate::models::servarr_models::Language;
|
||||||
@@ -303,7 +303,7 @@ mod tests {
|
|||||||
use crate::models::radarr_models::MinimumAvailability;
|
use crate::models::radarr_models::MinimumAvailability;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_MOVIE_SELECTION_BLOCKS,
|
EDIT_MOVIE_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use crate::handlers::radarr_handlers::library::add_movie_handler::AddMovieHandle
|
|||||||
use crate::handlers::radarr_handlers::library::delete_movie_handler::DeleteMovieHandler;
|
use crate::handlers::radarr_handlers::library::delete_movie_handler::DeleteMovieHandler;
|
||||||
use crate::handlers::radarr_handlers::library::edit_movie_handler::EditMovieHandler;
|
use crate::handlers::radarr_handlers::library::edit_movie_handler::EditMovieHandler;
|
||||||
use crate::handlers::radarr_handlers::library::movie_details_handler::MovieDetailsHandler;
|
use crate::handlers::radarr_handlers::library::movie_details_handler::MovieDetailsHandler;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
|
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::models::radarr_models::Movie;
|
use crate::models::radarr_models::Movie;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use serde_json::Number;
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::models::radarr_models::{
|
use crate::models::radarr_models::{
|
||||||
Credit, MovieHistoryItem, RadarrRelease, RadarrReleaseDownloadBody,
|
Credit, MovieHistoryItem, RadarrRelease, RadarrReleaseDownloadBody,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -7,14 +7,14 @@ mod tests {
|
|||||||
use serde_json::Number;
|
use serde_json::Number;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::library::movie_details_handler::{
|
use crate::handlers::radarr_handlers::library::movie_details_handler::{
|
||||||
releases_sorting_options, MovieDetailsHandler,
|
MovieDetailsHandler, releases_sorting_options,
|
||||||
};
|
};
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{movie, release};
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::{movie, release};
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::radarr_models::{Credit, MovieHistoryItem};
|
use crate::models::radarr_models::{Credit, MovieHistoryItem};
|
||||||
use crate::models::radarr_models::{RadarrRelease, RadarrReleaseDownloadBody};
|
use crate::models::radarr_models::{RadarrRelease, RadarrReleaseDownloadBody};
|
||||||
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
||||||
@@ -502,7 +502,7 @@ mod tests {
|
|||||||
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
use crate::models::servarr_data::radarr::modals::MovieDetailsModal;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
use crate::models::servarr_data::radarr::radarr_data::radarr_test_utils::utils::create_test_radarr_data;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
RadarrData, EDIT_MOVIE_SELECTION_BLOCKS,
|
EDIT_MOVIE_SELECTION_BLOCKS, RadarrData,
|
||||||
};
|
};
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::test_edit_movie_key;
|
use crate::test_edit_movie_key;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::blocklist::BlocklistHandler;
|
use crate::handlers::radarr_handlers::blocklist::BlocklistHandler;
|
||||||
use crate::handlers::radarr_handlers::collections::CollectionsHandler;
|
use crate::handlers::radarr_handlers::collections::CollectionsHandler;
|
||||||
use crate::handlers::radarr_handlers::downloads::DownloadsHandler;
|
use crate::handlers::radarr_handlers::downloads::DownloadsHandler;
|
||||||
@@ -5,9 +6,8 @@ use crate::handlers::radarr_handlers::indexers::IndexersHandler;
|
|||||||
use crate::handlers::radarr_handlers::library::LibraryHandler;
|
use crate::handlers::radarr_handlers::library::LibraryHandler;
|
||||||
use crate::handlers::radarr_handlers::root_folders::RootFoldersHandler;
|
use crate::handlers::radarr_handlers::root_folders::RootFoldersHandler;
|
||||||
use crate::handlers::radarr_handlers::system::SystemHandler;
|
use crate::handlers::radarr_handlers::system::SystemHandler;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::{matches_key, App, Key};
|
use crate::{App, Key, matches_key};
|
||||||
|
|
||||||
mod blocklist;
|
mod blocklist;
|
||||||
mod collections;
|
mod collections;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
pub(in crate::handlers::radarr_handlers) mod utils {
|
pub(in crate::handlers::radarr_handlers) mod utils {
|
||||||
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::radarr_models::{
|
use crate::models::radarr_models::{
|
||||||
AddMovieBody, AddMovieOptions, AddMovieSearchResult, Collection, CollectionMovie,
|
AddMovieBody, AddMovieOptions, AddMovieSearchResult, Collection, CollectionMovie,
|
||||||
DownloadRecord, IndexerSettings, MediaInfo, MinimumAvailability, Movie, MovieCollection,
|
DownloadRecord, IndexerSettings, MediaInfo, MinimumAvailability, Movie, MovieCollection,
|
||||||
@@ -9,9 +10,8 @@ pub(in crate::handlers::radarr_handlers) mod utils {
|
|||||||
use crate::models::servarr_models::{
|
use crate::models::servarr_models::{
|
||||||
Indexer, IndexerField, Language, Quality, QualityWrapper, RootFolder,
|
Indexer, IndexerField, Language, Quality, QualityWrapper, RootFolder,
|
||||||
};
|
};
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
use chrono::DateTime;
|
use chrono::DateTime;
|
||||||
use serde_json::{json, Number};
|
use serde_json::{Number, json};
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! test_edit_movie_key {
|
macro_rules! test_edit_movie_key {
|
||||||
|
|||||||
@@ -4,10 +4,10 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::handlers::radarr_handlers::{handle_change_tab_left_right_keys, RadarrHandler};
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::{RadarrHandler, handle_change_tab_left_right_keys};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
use crate::test_handler_delegation;
|
use crate::test_handler_delegation;
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ use crate::app::App;
|
|||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS};
|
||||||
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
use crate::{
|
use crate::{
|
||||||
handle_table_events, handle_text_box_keys, handle_text_box_left_right_keys, matches_key,
|
handle_table_events, handle_text_box_keys, handle_text_box_left_right_keys, matches_key,
|
||||||
|
|||||||
@@ -4,15 +4,15 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::root_folder;
|
use crate::handlers::radarr_handlers::radarr_handler_test_utils::utils::root_folder;
|
||||||
use crate::handlers::radarr_handlers::root_folders::RootFoldersHandler;
|
use crate::handlers::radarr_handlers::root_folders::RootFoldersHandler;
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::models::HorizontallyScrollableText;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, ROOT_FOLDERS_BLOCKS};
|
||||||
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
use crate::models::servarr_models::{AddRootFolderBody, RootFolder};
|
||||||
use crate::models::HorizontallyScrollableText;
|
|
||||||
|
|
||||||
mod test_handle_home_end {
|
mod test_handle_home_end {
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ use crate::app::App;
|
|||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::radarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
||||||
use crate::handlers::{handle_clear_errors, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors};
|
||||||
use crate::matches_key;
|
use crate::matches_key;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
|
||||||
use crate::models::Scrollable;
|
use crate::models::Scrollable;
|
||||||
|
use crate::models::servarr_data::radarr::radarr_data::ActiveRadarrBlock;
|
||||||
|
|
||||||
mod system_details_handler;
|
mod system_details_handler;
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::matches_key;
|
use crate::matches_key;
|
||||||
|
use crate::models::Scrollable;
|
||||||
use crate::models::radarr_models::RadarrTaskName;
|
use crate::models::radarr_models::RadarrTaskName;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS};
|
use crate::models::servarr_data::radarr::radarr_data::{ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS};
|
||||||
use crate::models::stateful_list::StatefulList;
|
use crate::models::stateful_list::StatefulList;
|
||||||
use crate::models::Scrollable;
|
|
||||||
use crate::network::radarr_network::RadarrEvent;
|
use crate::network::radarr_network::RadarrEvent;
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@@ -4,11 +4,11 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::system::system_details_handler::SystemDetailsHandler;
|
||||||
use crate::models::radarr_models::{RadarrTask, RadarrTaskName};
|
use crate::models::radarr_models::{RadarrTask, RadarrTaskName};
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::radarr_handlers::system::SystemHandler;
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::radarr_handlers::system::SystemHandler;
|
||||||
use crate::models::radarr_models::RadarrTask;
|
use crate::models::radarr_models::RadarrTask;
|
||||||
use crate::models::servarr_data::radarr::radarr_data::{
|
use crate::models::servarr_data::radarr::radarr_data::{
|
||||||
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
ActiveRadarrBlock, SYSTEM_DETAILS_BLOCKS,
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::blocklist::{blocklist_sorting_options, BlocklistHandler};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::blocklist::{BlocklistHandler, blocklist_sorting_options};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, BLOCKLIST_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, BLOCKLIST_BLOCKS};
|
||||||
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
||||||
use crate::models::sonarr_models::BlocklistItem;
|
use crate::models::sonarr_models::BlocklistItem;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use crate::app::App;
|
|||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, BLOCKLIST_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, BLOCKLIST_BLOCKS};
|
||||||
use crate::models::sonarr_models::BlocklistItem;
|
use crate::models::sonarr_models::BlocklistItem;
|
||||||
use crate::models::stateful_table::SortOption;
|
use crate::models::stateful_table::SortOption;
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::downloads::DownloadsHandler;
|
use crate::handlers::sonarr_handlers::downloads::DownloadsHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::download_record;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::download_record;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DOWNLOADS_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DOWNLOADS_BLOCKS};
|
||||||
use crate::models::sonarr_models::DownloadRecord;
|
use crate::models::sonarr_models::DownloadRecord;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use crate::app::App;
|
|||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors, handle_prompt_toggle};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DOWNLOADS_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, DOWNLOADS_BLOCKS};
|
||||||
use crate::models::sonarr_models::DownloadRecord;
|
use crate::models::sonarr_models::DownloadRecord;
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ mod tests {
|
|||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
use strum::IntoEnumIterator;
|
use strum::IntoEnumIterator;
|
||||||
|
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::history::{history_sorting_options, HistoryHandler};
|
|
||||||
use crate::handlers::KeyEventHandler;
|
use crate::handlers::KeyEventHandler;
|
||||||
|
use crate::handlers::sonarr_handlers::history::{HistoryHandler, history_sorting_options};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS};
|
||||||
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
use crate::models::servarr_models::{Language, Quality, QualityWrapper};
|
||||||
use crate::models::sonarr_models::{SonarrHistoryEventType, SonarrHistoryItem};
|
use crate::models::sonarr_models::{SonarrHistoryEventType, SonarrHistoryItem};
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ use crate::app::App;
|
|||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
|
use crate::handlers::sonarr_handlers::handle_change_tab_left_right_keys;
|
||||||
use crate::handlers::table_handler::TableHandlingConfig;
|
use crate::handlers::table_handler::TableHandlingConfig;
|
||||||
use crate::handlers::{handle_clear_errors, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_clear_errors};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, HISTORY_BLOCKS};
|
||||||
use crate::models::servarr_models::Language;
|
use crate::models::servarr_models::Language;
|
||||||
use crate::models::sonarr_models::SonarrHistoryItem;
|
use crate::models::sonarr_models::SonarrHistoryItem;
|
||||||
@@ -122,8 +122,8 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveSonarrBlock> for HistoryHandler<'a, '
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(in crate::handlers::sonarr_handlers) fn history_sorting_options(
|
pub(in crate::handlers::sonarr_handlers) fn history_sorting_options()
|
||||||
) -> Vec<SortOption<SonarrHistoryItem>> {
|
-> Vec<SortOption<SonarrHistoryItem>> {
|
||||||
vec![
|
vec![
|
||||||
SortOption {
|
SortOption {
|
||||||
name: "Source Title",
|
name: "Source Title",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_INDEXER_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_INDEXER_BLOCKS};
|
||||||
use crate::models::servarr_models::EditIndexerParams;
|
use crate::models::servarr_models::EditIndexerParams;
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
|
use crate::handlers::KeyEventHandler;
|
||||||
use crate::handlers::sonarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
use crate::handlers::sonarr_handlers::indexers::edit_indexer_handler::EditIndexerHandler;
|
||||||
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer;
|
use crate::handlers::sonarr_handlers::sonarr_handler_test_utils::utils::indexer;
|
||||||
use crate::handlers::KeyEventHandler;
|
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_INDEXER_BLOCKS};
|
use crate::models::servarr_data::sonarr::sonarr_data::{ActiveSonarrBlock, EDIT_INDEXER_BLOCKS};
|
||||||
use crate::models::servarr_models::EditIndexerParams;
|
use crate::models::servarr_models::EditIndexerParams;
|
||||||
@@ -18,9 +18,9 @@ mod tests {
|
|||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
@@ -419,11 +419,11 @@ mod tests {
|
|||||||
use std::sync::atomic::Ordering;
|
use std::sync::atomic::Ordering;
|
||||||
|
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
EDIT_INDEXER_NZB_SELECTION_BLOCKS, EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use pretty_assertions::assert_eq;
|
use pretty_assertions::assert_eq;
|
||||||
use rstest::rstest;
|
use rstest::rstest;
|
||||||
|
|
||||||
@@ -852,7 +852,7 @@ mod tests {
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::{
|
use crate::models::{
|
||||||
servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS, BlockSelectionState,
|
BlockSelectionState, servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS,
|
||||||
};
|
};
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
|
|
||||||
@@ -1053,14 +1053,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1074,14 +1076,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_rss
|
.unwrap()
|
||||||
.unwrap());
|
.enable_rss
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1106,14 +1110,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1127,14 +1133,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_automatic_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_automatic_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1159,14 +1167,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(app
|
assert!(
|
||||||
.data
|
app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
|
|
||||||
EditIndexerHandler::new(
|
EditIndexerHandler::new(
|
||||||
SUBMIT_KEY,
|
SUBMIT_KEY,
|
||||||
@@ -1180,14 +1190,16 @@ mod tests {
|
|||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
);
|
);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.enable_interactive_search
|
.unwrap()
|
||||||
.unwrap());
|
.enable_interactive_search
|
||||||
|
.unwrap()
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1211,15 +1223,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.name
|
.unwrap()
|
||||||
.text
|
.name
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1247,15 +1261,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.url
|
.unwrap()
|
||||||
.text
|
.url
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1283,15 +1299,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.api_key
|
.unwrap()
|
||||||
.text
|
.api_key
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1319,15 +1337,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.seed_ratio
|
.unwrap()
|
||||||
.text
|
.seed_ratio
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1355,15 +1375,17 @@ mod tests {
|
|||||||
.handle();
|
.handle();
|
||||||
|
|
||||||
assert!(!app.ignore_special_keys_for_textbox_input);
|
assert!(!app.ignore_special_keys_for_textbox_input);
|
||||||
assert!(!app
|
assert!(
|
||||||
.data
|
!app
|
||||||
.sonarr_data
|
.data
|
||||||
.edit_indexer_modal
|
.sonarr_data
|
||||||
.as_ref()
|
.edit_indexer_modal
|
||||||
.unwrap()
|
.as_ref()
|
||||||
.tags
|
.unwrap()
|
||||||
.text
|
.tags
|
||||||
.is_empty());
|
.text
|
||||||
|
.is_empty()
|
||||||
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
app.get_current_route(),
|
app.get_current_route(),
|
||||||
ActiveSonarrBlock::EditIndexerPrompt.into()
|
ActiveSonarrBlock::EditIndexerPrompt.into()
|
||||||
@@ -1433,9 +1455,9 @@ mod tests {
|
|||||||
|
|
||||||
mod test_handle_key_char {
|
mod test_handle_key_char {
|
||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
|
use crate::models::BlockSelectionState;
|
||||||
use crate::models::servarr_data::modals::EditIndexerModal;
|
use crate::models::servarr_data::modals::EditIndexerModal;
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
use crate::models::servarr_data::sonarr::sonarr_data::EDIT_INDEXER_TORRENT_SELECTION_BLOCKS;
|
||||||
use crate::models::BlockSelectionState;
|
|
||||||
use crate::network::sonarr_network::SonarrEvent;
|
use crate::network::sonarr_network::SonarrEvent;
|
||||||
use pretty_assertions::{assert_eq, assert_str_eq};
|
use pretty_assertions::{assert_eq, assert_str_eq};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use crate::app::App;
|
use crate::app::App;
|
||||||
use crate::event::Key;
|
use crate::event::Key;
|
||||||
use crate::handlers::{handle_prompt_toggle, KeyEventHandler};
|
use crate::handlers::{KeyEventHandler, handle_prompt_toggle};
|
||||||
use crate::models::servarr_data::sonarr::sonarr_data::{
|
use crate::models::servarr_data::sonarr::sonarr_data::{
|
||||||
ActiveSonarrBlock, INDEXER_SETTINGS_BLOCKS,
|
ActiveSonarrBlock, INDEXER_SETTINGS_BLOCKS,
|
||||||
};
|
};
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user