public void AddSong_Song_CallsSongRepoAdd()
        {
            var song = new Song {
                Artists = new List <Artist>(), Album = new Album()
            };

            _inventoryService.AddSong(song);

            _songRepository.Verify(x => x.Add(It.IsAny <Song>()), Times.AtLeastOnce);
        }
예제 #2
0
        public void AddSong_Song_AddsSongToDatabase()
        {
            var album = new Album {
                Id = Guid.NewGuid()
            };
            var firstArtist = new Artist {
                Id = Guid.NewGuid(), ArtistId = Guid.NewGuid()
            };
            var secondArtist = new Artist {
                Id = Guid.NewGuid(), ArtistId = Guid.NewGuid()
            };
            var thirdArtist = new Artist {
                Id = Guid.NewGuid(), ArtistId = Guid.NewGuid()
            };

            var artists = new List <Artist>
            {
                firstArtist, secondArtist, thirdArtist
            };

            _context.Artists.AddRange(artists);
            _context.Albums.Add(album);
            _context.SaveChanges();

            var song = new Song
            {
                Id    = Guid.NewGuid(),
                Album = new Album {
                    AlbumId = album.AlbumId
                },
                Artists = new List <Artist>
                {
                    new Artist {
                        ArtistId = firstArtist.ArtistId
                    },
                    new Artist {
                        ArtistId = secondArtist.ArtistId
                    },
                    new Artist {
                        ArtistId = thirdArtist.ArtistId
                    }
                }
            };

            _inventoryService.AddSong(song);

            var songs = _context.Songs.ToList();

            Assert.IsTrue(songs.Contains(song));
        }