From 11bcb8bdb9e79714b35a3ba2af1e6b900de37d8c Mon Sep 17 00:00:00 2001 From: Wojciech Kozlowski Date: Fri, 19 May 2023 21:48:09 +0200 Subject: [PATCH] Fix unit tests --- src/tui/mod.rs | 9 +++++-- src/tui/ui.rs | 69 +++++++++++++++----------------------------------- 2 files changed, 28 insertions(+), 50 deletions(-) diff --git a/src/tui/mod.rs b/src/tui/mod.rs index 4236004..400bf18 100644 --- a/src/tui/mod.rs +++ b/src/tui/mod.rs @@ -180,13 +180,18 @@ mod tests { Terminal::new(backend).unwrap() } - pub fn ui(collection: Collection) -> Ui { + pub fn music_hoard(collection: Collection) -> MockIMusicHoard { let mut music_hoard = MockIMusicHoard::new(); + music_hoard.expect_load_from_database().returning(|| Ok(())); music_hoard.expect_rescan_library().returning(|| Ok(())); music_hoard.expect_get_collection().return_const(collection); - Ui::new(music_hoard).unwrap() + music_hoard + } + + pub fn ui(collection: Collection) -> Ui { + Ui::new(music_hoard(collection)).unwrap() } fn listener() -> MockIEventListener { diff --git a/src/tui/ui.rs b/src/tui/ui.rs index 27c3981..6cd7536 100644 --- a/src/tui/ui.rs +++ b/src/tui/ui.rs @@ -632,6 +632,22 @@ mod tests { use super::*; + pub fn music_hoard(collection: Collection) -> MockIMusicHoard { + let mut music_hoard = MockIMusicHoard::new(); + + music_hoard + .expect_load_from_database() + .times(1) + .return_once(|| Ok(())); + music_hoard + .expect_rescan_library() + .times(1) + .return_once(|| Ok(())); + music_hoard.expect_get_collection().return_const(collection); + + music_hoard + } + #[test] fn test_track_selection() { let tracks = &COLLECTION[0].albums[0].tracks; @@ -786,17 +802,7 @@ mod tests { #[test] fn ui_running() { - let mut music_hoard = MockIMusicHoard::new(); - - music_hoard - .expect_rescan_library() - .times(1) - .return_once(|| Ok(())); - music_hoard - .expect_get_collection() - .return_const(COLLECTION.to_owned()); - - let mut ui = Ui::new(music_hoard).unwrap(); + let mut ui = Ui::new(music_hoard(COLLECTION.to_owned())).unwrap(); assert!(ui.is_running()); ui.quit(); @@ -805,17 +811,7 @@ mod tests { #[test] fn ui_modifiers() { - let mut music_hoard = MockIMusicHoard::new(); - - music_hoard - .expect_rescan_library() - .times(1) - .return_once(|| Ok(())); - music_hoard - .expect_get_collection() - .return_const(COLLECTION.to_owned()); - - let mut ui = Ui::new(music_hoard).unwrap(); + let mut ui = Ui::new(music_hoard(COLLECTION.to_owned())).unwrap(); assert!(ui.is_running()); assert_eq!(ui.selection.active, Category::Artist); @@ -904,17 +900,10 @@ mod tests { #[test] fn app_no_tracks() { - let mut music_hoard = MockIMusicHoard::new(); let mut collection = COLLECTION.to_owned(); collection[0].albums[0].tracks = vec![]; - music_hoard - .expect_rescan_library() - .times(1) - .return_once(|| Ok(())); - music_hoard.expect_get_collection().return_const(collection); - - let mut app = Ui::new(music_hoard).unwrap(); + let mut app = Ui::new(music_hoard(collection)).unwrap(); assert!(app.is_running()); assert_eq!(app.selection.active, Category::Artist); @@ -940,17 +929,10 @@ mod tests { #[test] fn app_no_albums() { - let mut music_hoard = MockIMusicHoard::new(); let mut collection = COLLECTION.to_owned(); collection[0].albums = vec![]; - music_hoard - .expect_rescan_library() - .times(1) - .return_once(|| Ok(())); - music_hoard.expect_get_collection().return_const(collection); - - let mut app = Ui::new(music_hoard).unwrap(); + let mut app = Ui::new(music_hoard(collection)).unwrap(); assert!(app.is_running()); assert_eq!(app.selection.active, Category::Artist); @@ -989,16 +971,7 @@ mod tests { #[test] fn app_no_artists() { - let mut music_hoard = MockIMusicHoard::new(); - let collection = vec![]; - - music_hoard - .expect_rescan_library() - .times(1) - .return_once(|| Ok(())); - music_hoard.expect_get_collection().return_const(collection); - - let mut app = Ui::new(music_hoard).unwrap(); + let mut app = Ui::new(music_hoard(vec![])).unwrap(); assert!(app.is_running()); assert_eq!(app.selection.active, Category::Artist);