#[cfg(test)] mod tests { use pretty_assertions::{assert_eq, assert_str_eq}; use crate::app::key_binding::DEFAULT_KEYBINDINGS; use crate::app::radarr::radarr_context_clues::{ ADD_MOVIE_SEARCH_RESULTS_CONTEXT_CLUES, BLOCKLIST_CONTEXT_CLUES, COLLECTIONS_CONTEXT_CLUES, COLLECTION_DETAILS_CONTEXT_CLUES, CONFIRMATION_PROMPT_CONTEXT_CLUES, DOWNLOADS_CONTEXT_CLUES, INDEXERS_CONTEXT_CLUES, LIBRARY_CONTEXT_CLUES, MANUAL_MOVIE_SEARCH_CONTEXTUAL_CONTEXT_CLUES, MANUAL_MOVIE_SEARCH_CONTEXT_CLUES, MOVIE_DETAILS_CONTEXT_CLUES, ROOT_FOLDERS_CONTEXT_CLUES, SYSTEM_CONTEXT_CLUES, SYSTEM_TASKS_CONTEXT_CLUES, }; #[test] fn test_library_context_clues() { let mut library_context_clues_iter = LIBRARY_CONTEXT_CLUES.iter(); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.add); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.add.desc); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.edit); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.edit.desc); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.sort); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.sort.desc); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.delete); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.delete.desc); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.search); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.search.desc); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.filter); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.filter.desc); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.update); assert_str_eq!(*description, "update all"); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "details"); let (key_binding, description) = library_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, "cancel filter"); assert_eq!(library_context_clues_iter.next(), None); } #[test] fn test_collections_context_clues() { let mut collections_context_clues = COLLECTIONS_CONTEXT_CLUES.iter(); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.search); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.search.desc); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.edit); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.edit.desc); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.sort); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.sort.desc); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.filter); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.filter.desc); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.update); assert_str_eq!(*description, "update all"); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "details"); let (key_binding, description) = collections_context_clues.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, "cancel filter"); assert_eq!(collections_context_clues.next(), None); } #[test] fn test_downloads_context_clues() { let mut downloads_context_clues_iter = DOWNLOADS_CONTEXT_CLUES.iter(); let (key_binding, description) = downloads_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); let (key_binding, description) = downloads_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.delete); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.delete.desc); assert_eq!(downloads_context_clues_iter.next(), None); } #[test] fn test_blocklist_context_clues() { let mut blocklist_context_clues_iter = BLOCKLIST_CONTEXT_CLUES.iter(); let (key_binding, description) = blocklist_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); let (key_binding, description) = blocklist_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.sort); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.sort.desc); let (key_binding, description) = blocklist_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "details"); let (key_binding, description) = blocklist_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.delete); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.delete.desc); let (key_binding, description) = blocklist_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.clear); assert_str_eq!(*description, "clear blocklist"); assert_eq!(blocklist_context_clues_iter.next(), None); } #[test] fn test_root_folders_context_clues() { let mut root_folders_context_clues_iter = ROOT_FOLDERS_CONTEXT_CLUES.iter(); let (key_binding, description) = root_folders_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.add); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.add.desc); let (key_binding, description) = root_folders_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.delete); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.delete.desc); let (key_binding, description) = root_folders_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); assert_eq!(root_folders_context_clues_iter.next(), None); } #[test] fn test_indexers_context_clues() { let mut indexers_context_clues_iter = INDEXERS_CONTEXT_CLUES.iter(); let (key_binding, description) = indexers_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "edit indexer"); let (key_binding, description) = indexers_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.settings); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.settings.desc); let (key_binding, description) = indexers_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.delete); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.delete.desc); let (key_binding, description) = indexers_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.test); assert_str_eq!(*description, "test indexer"); let (key_binding, description) = indexers_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.test_all); assert_str_eq!(*description, "test all indexers"); let (key_binding, description) = indexers_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); assert_eq!(indexers_context_clues_iter.next(), None); } #[test] fn test_system_context_clues() { let mut system_context_clues_iter = SYSTEM_CONTEXT_CLUES.iter(); let (key_binding, description) = system_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.tasks); assert_str_eq!(*description, "open tasks"); let (key_binding, description) = system_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.events); assert_str_eq!(*description, "open events"); let (key_binding, description) = system_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.logs); assert_str_eq!(*description, "open logs"); let (key_binding, description) = system_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.update); assert_str_eq!(*description, "open updates"); let (key_binding, description) = system_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); assert_eq!(system_context_clues_iter.next(), None); } #[test] fn test_movie_details_context_clues() { let mut movie_details_context_clues_iter = MOVIE_DETAILS_CONTEXT_CLUES.iter(); let (key_binding, description) = movie_details_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); let (key_binding, description) = movie_details_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.update); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.update.desc); let (key_binding, description) = movie_details_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.edit); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.edit.desc); let (key_binding, description) = movie_details_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.search); assert_str_eq!(*description, "auto search"); let (key_binding, description) = movie_details_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.esc.desc); assert_eq!(movie_details_context_clues_iter.next(), None); } #[test] fn test_manual_movie_search_context_clues() { let mut manual_movie_search_context_clues_iter = MANUAL_MOVIE_SEARCH_CONTEXT_CLUES.iter(); let (key_binding, description) = manual_movie_search_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.refresh); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.refresh.desc); let (key_binding, description) = manual_movie_search_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.update); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.update.desc); let (key_binding, description) = manual_movie_search_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.edit); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.edit.desc); let (key_binding, description) = manual_movie_search_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.sort); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.sort.desc); let (key_binding, description) = manual_movie_search_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.search); assert_str_eq!(*description, "auto search"); let (key_binding, description) = manual_movie_search_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.esc.desc); assert_eq!(manual_movie_search_context_clues_iter.next(), None); } #[test] fn test_manual_movie_search_contextual_context_clues() { let mut manual_movie_search_contextual_context_clues_iter = MANUAL_MOVIE_SEARCH_CONTEXTUAL_CONTEXT_CLUES.iter(); let (key_binding, description) = manual_movie_search_contextual_context_clues_iter .next() .unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "details"); assert_eq!( manual_movie_search_contextual_context_clues_iter.next(), None ); } #[test] fn test_add_movie_search_results_context_clues() { let mut add_movie_search_results_context_clues_iter = ADD_MOVIE_SEARCH_RESULTS_CONTEXT_CLUES.iter(); let (key_binding, description) = add_movie_search_results_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "details"); let (key_binding, description) = add_movie_search_results_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, "edit search"); assert_eq!(add_movie_search_results_context_clues_iter.next(), None); } #[test] fn test_confirmation_prompt_context_clues() { let mut confirmation_prompt_context_clues_iter = CONFIRMATION_PROMPT_CONTEXT_CLUES.iter(); let (key_binding, description) = confirmation_prompt_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.confirm); assert_str_eq!(*description, "submit"); let (key_binding, description) = confirmation_prompt_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, "cancel"); assert_eq!(confirmation_prompt_context_clues_iter.next(), None); } #[test] fn test_system_tasks_context_clues() { let mut system_tasks_context_clues_iter = SYSTEM_TASKS_CONTEXT_CLUES.iter(); let (key_binding, description) = system_tasks_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "start task"); let (key_binding, description) = system_tasks_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.esc.desc); assert_eq!(system_tasks_context_clues_iter.next(), None); } #[test] fn test_collection_details_context_clues() { let mut collection_details_context_clues_iter = COLLECTION_DETAILS_CONTEXT_CLUES.iter(); let (key_binding, description) = collection_details_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.submit); assert_str_eq!(*description, "show overview/add movie"); let (key_binding, description) = collection_details_context_clues_iter.next().unwrap(); assert_eq!(*key_binding, DEFAULT_KEYBINDINGS.esc); assert_str_eq!(*description, DEFAULT_KEYBINDINGS.esc.desc); assert_eq!(collection_details_context_clues_iter.next(), None); } }