示例#1
0
        public async Task GetAlbumsByArtistIdAsyncTest_ValidId_OneAlbum()
        {
            // Arrange
            AlbumDataDto[] result =
            {
                new AlbumDataDto
                {
                    Id       = 1,
                    Name     = "Test",
                    CoverArt = ""
                },
            };
            var albumRepoMock = new Mock <IAlbumRepository>();

            albumRepoMock.Setup(mock => mock.GetAlbumsByArtistIdAsync(1))
            .ReturnsAsync(result)
            .Verifiable();

            var albumCollection = new AlbumCollection(albumRepoMock.Object, _dependencyMapper);

            // Act
            var albums = (await albumCollection.GetAlbumsByArtistIdAsync(1)).ToArray();

            // Assert
            albumRepoMock.Verify();
            Assert.AreEqual(1, albums.Length);
        }
示例#2
0
        public async Task GetAlbumsByArtistIdAsyncTest_InvalidId_EmptyArray()
        {
            // Arrange
            var albumRepo = new Mock <IAlbumRepository>();

            albumRepo.Setup(mock => mock.GetAlbumsByArtistIdAsync(1))
            .ReturnsAsync(new AlbumDataDto[] { })
            .Verifiable();

            var albumCollection = new AlbumCollection(albumRepo.Object, _dependencyMapper);

            // Act
            var albums = (await albumCollection.GetAlbumsByArtistIdAsync(1)).ToArray();

            // Assert
            albumRepo.Verify();
            Assert.AreEqual(0, albums.Length);
        }
示例#3
0
        public async Task GetAlbumsByArtistIdAsyncTest_ValidId_MultipleAlbums()
        {
            // Arrange
            AlbumDataDto[] result =
            {
                new AlbumDataDto
                {
                    Id       = 1,
                    Name     = "Test",
                    CoverArt = "",
                },
                new AlbumDataDto
                {
                    Id       = 2,
                    Name     = "Test 2",
                    CoverArt = "test2.mp3",
                },
            };
            var albumRepoMock = new Mock <IAlbumRepository>();

            albumRepoMock.Setup(mock => mock.GetAlbumsByArtistIdAsync(1))
            .ReturnsAsync(result)
            .Verifiable();

            var albumCollection = new AlbumCollection(albumRepoMock.Object, _dependencyMapper);

            // Act
            var albums = (await albumCollection.GetAlbumsByArtistIdAsync(1)).ToArray();

            // Assert
            albumRepoMock.Verify();
            Assert.AreEqual(2, albums.Length);
            for (int i = 0; i < 2; ++i)
            {
                Assert.AreEqual(result[i].Id, albums[i].Id);
                Assert.AreEqual(result[i].Name, albums[i].Name);
                Assert.AreEqual(result[i].CoverArt, albums[i].CoverArt);
            }
        }