public void WhenDelete_WithValidId_Returns_Ok()
        {
            var artistId = 2;

            // Arrange
            IEnumerable<Artist> mockArtists = GetMockArtists();
            var numberOfArtistBeforeDelete = mockArtists.Count();

            // setup
            repo.Setup(x => x.GetArtist(artistId)).Returns(mockArtists.FirstOrDefault(p => p.ArtistId == artistId));
            ArtistController controller = new ArtistController(repo.Object);

            // Act
            IHttpActionResult actionResult = controller.Delete(artistId);
            Assert.IsInstanceOfType(actionResult, typeof(OkNegotiatedContentResult<Artist>));
        }
        public void WhenGetAll_Returns_Null_IfNoData()
        {
            // Arrange
            IEnumerable<Artist> mockArtists = GetNoArtists();

            // setup
            repo.Setup(x => x.GetAllArtists()).Returns(mockArtists);

            ArtistController controller = new ArtistController(repo.Object);

            // Act
            IHttpActionResult actionResult = controller.Get();

            // Assert
            Assert.IsNotNull(actionResult, "Result is null");
            Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult), "It should return null");
        }
        public void WhenGetAll_Returns_AllArtists()
        {
            // Arrange
            IEnumerable<Artist> mockArtists = GetMockArtists();

            // setup
            repo.Setup(x => x.GetAllArtists()).Returns(mockArtists);

            ArtistController controller = new ArtistController(repo.Object);

            // Act
            IHttpActionResult actionResult = controller.Get();
            var artists = actionResult as OkNegotiatedContentResult<IEnumerable<Artist>>;

            // Assert
            Assert.IsNotNull(actionResult, "Result is null");
            Assert.IsInstanceOfType(artists.Content, typeof(IEnumerable<Artist>));
            Assert.AreEqual(2, artists.Content.Count(), "Total number of artists is 2");
        }
예제 #4
0
        public void GetAllArtist_Success()
        {
            //Setup mock data
            var mockDataList = GetMockArtists();

            //Arrange
            var mockMusicRepository = new Mock<IArtistRepository>();
            mockMusicRepository.Setup(x => x.GetAllArtists()).Returns(mockDataList);

            var controller = new ArtistController(mockMusicRepository.Object);

            // Act
            IHttpActionResult result = controller.Get();

            // Assert
            Assert.IsNotNull(result);
        }
        public void WhenGet_WithCorrectId_Returns_Artist()
        {
            var artistId = 1;
            // Arrange
            IEnumerable<Artist> mockArtists = GetMockArtists();

            // setup
            repo.Setup(x => x.GetArtist(artistId)).Returns(mockArtists.FirstOrDefault(p => p.ArtistId == artistId));
            ArtistController controller = new ArtistController(repo.Object);

            // Act
            var response = controller.Get(artistId);
            var returnedArtist = response as OkNegotiatedContentResult<Artist>;

            // Assert
            Assert.IsNotNull(returnedArtist);
            Assert.AreEqual(returnedArtist.Content.Name, "Shakira", "Got correct artist");
        }
        public void WhenUpdate_ValidUser_ReturnsOk()
        {
            // Arrange
            IEnumerable<Artist> mockArtists = GetMockArtists();

            // setup
            var artistId = 2;
            repo.Setup(x => x.GetArtist(artistId)).Returns(mockArtists.FirstOrDefault(p => p.ArtistId == artistId));
            ArtistController controller = new ArtistController(repo.Object);

            // Act
            var result = controller.Put(2, new Artist { ArtistId = 2, Name = "Enya", UrlSafeName = "enya" })
                 as OkNegotiatedContentResult<Artist>;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Content.ArtistId);
            Assert.AreEqual("Enya", result.Content.Name);
        }
        public void WhenUpdate_InValidUser_ShouldFail()
        {
            // Arrange
            IEnumerable<Artist> mockArtists = GetMockArtists();
            ArtistController controller = new ArtistController(repo.Object);

            // Act
            IHttpActionResult result = controller.Put(10, new Artist { ArtistId = 10, Name = "Taylor", UrlSafeName = "taylor" });

            // Assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(NotFoundResult));
        }
        public void WhenInsert_ValidUser_ReturnsNewArtist()
        {
            // Arrange
            IEnumerable<Artist> mockArtists = GetMockArtists();

            // setup
            repo.Setup(x => x.GetAllArtists()).Returns(mockArtists);

            ArtistController controller = new ArtistController(repo.Object);

            // Act
            var result = controller.Post(new Artist { ArtistId = 5, Name = "FooFighter", UrlSafeName = "foofighter" })
                    as OkNegotiatedContentResult<Artist>;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(5, result.Content.ArtistId);
            Assert.AreEqual("FooFighter", result.Content.Name);
        }