public void do_not_remove_a_track_when_it_is_not_already_in_the_play_list() { var aTrackId = ATrack.Id; var aPlaylistId = APlaylist.Id; var aPlayList = new PlayListBuilder() .WithId(aPlaylistId) .Build(); playListPersistence.GetPlayList(aPlaylistId).Returns(aPlayList); var result = removeTrackFromPLayListService.Execute(aTrackId, aPlaylistId); result.IsLeft.Should().BeTrue(); result.IfLeft(error => error.Should().Be(DomainError.TrackIsNotInThePlayList)); playListPersistence.DidNotReceive().Persist(Arg.Any <PlayList>()); tracksNotifier.DidNotReceive().NotifyTrackHasRemovedFromPlayList(Arg.Any <string>(), Arg.Any <string>()); }
public void do_not_add_a_track_twice() { var aTrackId = ATrack.Id; var aPlaylistId = APlaylist.Id; var aPlayList = new PlayListBuilder() .WithId(aPlaylistId) .AddTrack(new TrackBuilder() .WithId(aTrackId) .Build()) .Build(); playListPersistence.GetPlayList(aPlaylistId).Returns(aPlayList); var result = addTrackToPlayListService.Execute(aTrackId, aPlaylistId); result.IsLeft.Should().BeTrue(); result.IfLeft(error => error.Should().Be(DomainError.CannotAddSameTrackTwice)); playListPersistence.DidNotReceive().Persist(Arg.Any <PlayList>()); tracksNotifier.DidNotReceive().NotifyTrackHasBeenAddedToPlayList(Arg.Any <string>(), Arg.Any <string>()); }