public async Task Delete_RedirectsToIndex()
        {
            Mock <BackendProvider> mockBackend = new Mock <BackendProvider>(autoMapper);

            mockBackend.Setup(m => m.ArtistDeleteByIDAsync(It.IsAny <int>())).ReturnsAsync(true);

            ArtistController      controller = new ArtistController(mockBackend.Object, autoMapper);
            RedirectToRouteResult result     = (await controller.Delete(1)) as RedirectToRouteResult;

            mockBackend.Verify(m => m.ArtistDeleteByIDAsync(It.Is <int>(a => a == 1)), Times.Once());
            Assert.IsNotNull(result);
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
Example #2
0
        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>));
        }
Example #3
0
        public async void Delete_Errors()
        {
            ArtistControllerMockFacade mock = new ArtistControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.FromResult <ActionResponse>(mockResult.Object));
            ArtistController controller = new ArtistController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Delete(default(int));

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Delete(It.IsAny <int>()));
        }
Example #4
0
        public void Delete_Removes_Artist()
        {
            var artistId      = 1;
            var deletedArtist = new Artist(artistId, "string1", "string2", "string3");
            var artistList    = new List <Artist>()
            {
                deletedArtist,
                new Artist(2, "string1", "string2", "string3")
            };

            artistRepo.GetById(artistId).Returns(deletedArtist);
            artistRepo.When(d => d.Delete(deletedArtist))
            .Do(d => artistList.Remove(deletedArtist));
            artistRepo.GetAll().Returns(artistList);

            var result = underTest.Delete(artistId);

            Assert.All(result, item => Assert.Contains("string1", item.Name));
        }
        public void Delete_Removes_Artist()
        {
            var artistId      = 1;
            var deletedArtist = new Artist(1, "Name", "image");
            var artistList    = new List <Artist>()
            {
                deletedArtist,
                new Artist(1, "Name", "image")
            };

            artistRepo.GetById(artistId).Returns(deletedArtist);
            artistRepo.When(d => d.Delete(deletedArtist))
            .Do(d => artistList.Remove(deletedArtist));
            artistRepo.GetAll().Returns(artistList);

            var result = underTest.Delete(artistId);

            Assert.DoesNotContain(deletedArtist, result); /*Does not work in all cases*/
            //Assert.All(result, item => Assert.Contains("Second item", item.Name));
        }
Example #6
0
        public void Delete_Removes_Artist()
        {
            var artistId      = 1;
            var deletedArtist = new Artists(artistId, "First artist", 1, "recordlabel", "hometown", "image");
            var artistList    = new List <Artists>()
            {
                deletedArtist,
                new Artists(2, "Second artist", 2, "recordlabel", "hometown", "image")
            };

            artistRepo.GetByID(artistId).Returns(deletedArtist);
            artistRepo.When(d => d.Delete(deletedArtist))
            .Do(d => artistList.Remove(deletedArtist));

            artistRepo.GetAll().Returns(artistList);
            var result = underTest.Delete(artistId);

            Assert.DoesNotContain(deletedArtist, result);
            //Assert.All(result, item => Assert.Contains("second item", item.Name));
        }