diff --git a/src/core/musichoard/musichoard.rs b/src/core/musichoard/musichoard.rs index e79563a..2ce1651 100644 --- a/src/core/musichoard/musichoard.rs +++ b/src/core/musichoard/musichoard.rs @@ -220,6 +220,8 @@ impl MusicHoard { Self::sort_albums_and_tracks(self.collection.iter_mut()); self.merge_collections(); + self.pre_commit = self.collection.clone(); + Ok(()) } @@ -398,7 +400,9 @@ mod tests { let artist_id = ArtistId::new("an artist"); let artist_id_2 = ArtistId::new("another artist"); - let with_artist = vec![Artist::new(artist_id.clone())]; + let collection = FULL_COLLECTION.to_owned(); + let mut with_artist = collection.clone(); + with_artist.push(Artist::new(artist_id.clone())); let mut database = MockIDatabase::new(); let mut seq = Sequence::new(); @@ -407,7 +411,7 @@ mod tests { .times(1) .times(1) .in_sequence(&mut seq) - .returning(|| Ok(vec![])); + .returning(|| Ok(FULL_COLLECTION.to_owned())); database .expect_save() .times(1) @@ -418,10 +422,11 @@ mod tests { .expect_save() .times(1) .in_sequence(&mut seq) - .with(predicate::eq(vec![])) + .with(predicate::eq(collection.clone())) .returning(|_| Ok(())); let mut music_hoard = MusicHoard::database(database).unwrap(); + assert_eq!(music_hoard.collection, collection); assert!(music_hoard.add_artist(artist_id.clone()).is_ok()); assert_eq!(music_hoard.collection, with_artist); @@ -433,7 +438,7 @@ mod tests { assert_eq!(music_hoard.collection, with_artist); assert!(music_hoard.remove_artist(&artist_id).is_ok()); - assert_eq!(music_hoard.collection, vec![]); + assert_eq!(music_hoard.collection, collection); } #[test]