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"]); }
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 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>())); }
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)); }
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)); }