Example #1
0
        public async Task GetSongsAsyncTest()
        {
            // Arrange
            var result = new SongDataDto
            {
                Id       = 1,
                AlbumId  = 1,
                Name     = "Test",
                Duration = 1337,
                FileName = "test.mp3"
            };

            var songCollectionMock = new Mock <ISongCollection>();

            songCollectionMock
            .Setup(mock => mock.GetSongsByAlbumIdAsync(1))
            .ReturnsAsync(new[] { new Song(result, null, null, null) })
            .Verifiable();

            var album = new Album(new AlbumDataDto
            {
                Id       = 1,
                ArtistId = 1,
                Name     = "Test",
                CoverArt = ""
            }, null, null, songCollectionMock.Object);

            // Act
            var songs = (await album.GetSongsAsync()).ToArray();

            // Assert
            songCollectionMock.Verify();
            Assert.AreEqual(1, songs.Length);
            Assert.AreEqual(1, songs[0].Id);
        }
Example #2
0
        public Song(SongDataDto dto, ISongRepository songRepository, IAlbumCollection albumCollection, IArtistCollection artistCollection)
        {
            Id       = dto.Id;
            Name     = dto.Name;
            Duration = dto.Duration;
            FileName = dto.FileName;

            _albumId = dto.AlbumId;

            _songRepository   = songRepository;
            _albumCollection  = albumCollection;
            _artistCollection = artistCollection;
        }