Full support for editing movies and managing tags

This commit is contained in:
2023-08-08 10:50:06 -06:00
parent c946d916ad
commit 7f3dd18478
16 changed files with 293 additions and 198 deletions
@@ -258,7 +258,7 @@ impl<'a> KeyEventHandler<'a, ActiveRadarrBlock> for AddMovieHandler<'a> {
self.app.data.radarr_data.reset_search();
self.app.should_ignore_quit_key = false;
}
ActiveRadarrBlock::AddMovieSearchResults => {
ActiveRadarrBlock::AddMovieSearchResults | ActiveRadarrBlock::AddMovieEmptySearchResults => {
self.app.pop_navigation_stack();
self.app.data.radarr_data.add_searched_movies = StatefulTable::default();
self.app.should_ignore_quit_key = true;
@@ -295,7 +295,6 @@ impl<'a> KeyEventHandler<'a, ActiveRadarrBlock> for AddMovieHandler<'a> {
}
#[cfg(test)]
#[allow(unused_imports)]
mod tests {
use pretty_assertions::assert_str_eq;
@@ -376,7 +375,6 @@ mod tests {
}
mod test_handle_home_end {
use rstest::rstest;
use strum::IntoEnumIterator;
use crate::{
@@ -482,8 +480,7 @@ mod tests {
}
mod test_handle_submit {
use std::collections::HashMap;
use bimap::BiMap;
use pretty_assertions::{assert_eq, assert_str_eq};
use rstest::rstest;
@@ -524,7 +521,7 @@ mod tests {
.add_searched_movies
.set_items(vec![AddMovieSearchResult::default()]);
app.data.radarr_data.quality_profile_map =
HashMap::from([(1, "B - Test 2".to_owned()), (0, "A - Test 1".to_owned())]);
BiMap::from_iter([(1, "B - Test 2".to_owned()), (0, "A - Test 1".to_owned())]);
AddMovieHandler::with(
&SUBMIT_KEY,
@@ -782,11 +779,17 @@ mod tests {
);
}
#[test]
fn test_add_movie_search_results_esc() {
#[rstest]
fn test_add_movie_search_results_esc(
#[values(
ActiveRadarrBlock::AddMovieSearchResults,
ActiveRadarrBlock::AddMovieEmptySearchResults
)]
active_radarr_block: ActiveRadarrBlock,
) {
let mut app = App::default();
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchInput.into());
app.push_navigation_stack(ActiveRadarrBlock::AddMovieSearchResults.into());
app.push_navigation_stack(active_radarr_block.into());
app
.data
.radarr_data
@@ -796,13 +799,7 @@ mod tests {
HorizontallyScrollableText
));
AddMovieHandler::with(
&ESC_KEY,
&mut app,
&ActiveRadarrBlock::AddMovieSearchResults,
&None,
)
.handle();
AddMovieHandler::with(&ESC_KEY, &mut app, &active_radarr_block, &None).handle();
assert_eq!(
app.get_current_route(),
@@ -164,8 +164,7 @@ mod tests {
}
mod test_handle_submit {
use std::collections::HashMap;
use bimap::BiMap;
use pretty_assertions::assert_eq;
use crate::models::radarr_models::Movie;
@@ -183,7 +182,7 @@ mod tests {
.collection_movies
.set_items(vec![CollectionMovie::default()]);
app.data.radarr_data.quality_profile_map =
HashMap::from([(1, "B - Test 2".to_owned()), (0, "A - Test 1".to_owned())]);
BiMap::from_iter([(1, "B - Test 2".to_owned()), (0, "A - Test 1".to_owned())]);
app.data.radarr_data.selected_block = ActiveRadarrBlock::AddMovieConfirmPrompt;
CollectionDetailsHandler::with(
@@ -211,7 +211,6 @@ impl<'a> KeyEventHandler<'a, ActiveRadarrBlock> for EditMovieHandler<'a> {
}
#[cfg(test)]
#[allow(unused_imports)]
mod tests {
use pretty_assertions::assert_str_eq;
@@ -221,7 +220,7 @@ mod tests {
use crate::event::Key;
use crate::handlers::radarr_handlers::edit_movie_handler::EditMovieHandler;
use crate::handlers::KeyEventHandler;
use crate::models::radarr_models::{MinimumAvailability, Monitor};
use crate::models::radarr_models::MinimumAvailability;
mod test_handle_scroll_up_and_down {
use pretty_assertions::assert_eq;
@@ -316,7 +315,7 @@ mod tests {
mod test_handle_left_right_action {
use rstest::rstest;
use crate::{test_text_box_home_end_keys, test_text_box_left_right_keys};
use crate::test_text_box_left_right_keys;
use super::*;
@@ -353,9 +352,7 @@ mod tests {
}
mod test_handle_submit {
use std::collections::HashMap;
use pretty_assertions::{assert_eq, assert_str_eq};
use pretty_assertions::assert_eq;
use rstest::rstest;
use crate::app::key_binding::DEFAULT_KEYBINDINGS;
+1 -3
View File
@@ -543,7 +543,7 @@ mod radarr_handler_test_utils {
edit_path: HorizontallyScrollableText::default(),
edit_tags: HorizontallyScrollableText::default(),
edit_monitored: None,
quality_profile_map: HashMap::from([
quality_profile_map: BiMap::from_iter([
(2222, "HD - 1080p".to_owned()),
(1111, "Any".to_owned()),
]),
@@ -1249,8 +1249,6 @@ mod tests {
}
mod test_handle_key_char {
use std::collections::HashMap;
use bimap::BiMap;
use pretty_assertions::{assert_eq, assert_str_eq};
use rstest::rstest;
@@ -326,7 +326,6 @@ fn sort_releases_by_selected_field(
}
#[cfg(test)]
#[allow(unused_imports)]
mod tests {
use pretty_assertions::assert_str_eq;
use rstest::rstest;
@@ -712,13 +711,11 @@ mod tests {
}
mod test_handle_esc {
use bimap::BiMap;
use pretty_assertions::{assert_eq, assert_str_eq};
use pretty_assertions::assert_eq;
use rstest::rstest;
use crate::app::radarr::radarr_test_utils::create_test_radarr_data;
use crate::assert_movie_info_tabs_reset;
use crate::models::HorizontallyScrollableText;
use super::*;
@@ -770,8 +767,6 @@ mod tests {
}
mod test_handle_key_char {
use std::collections::HashMap;
use bimap::BiMap;
use pretty_assertions::{assert_eq, assert_str_eq};
use rstest::rstest;
@@ -779,7 +774,6 @@ mod tests {
use crate::app::radarr::radarr_test_utils::create_test_radarr_data;
use crate::app::radarr::RadarrData;
use crate::handlers::radarr_handlers::RadarrHandler;
use crate::models::radarr_models::{MinimumAvailability, Movie};
use crate::models::HorizontallyScrollableText;
use crate::models::StatefulTable;