public void UpdateSubGenre_Returns_NoContent() { // Arrange var subGenreRepositoryMock = new Mock <ISubGenreRepository>(); var subGenreIMapperMock = new MapperConfiguration(config => { config.AddProfile(new MovieMapper()); }); var subGenreMapper = subGenreIMapperMock.CreateMapper(); SubGenresController subGenreApiController = new SubGenresController(subGenreRepositoryMock.Object, mapper: subGenreMapper); var subGenreDto = new SubGenreUpdateDTO() { Name = "Adult Content", DateCreated = DateTime.Parse("15 May 2015"), Id = Guid.NewGuid(), Genres = new GenreModel() }; subGenreRepositoryMock.Setup(repo => repo.UpdateSubGenre(It.IsAny <SubGenreModel>())).Returns(true); // Act var subGenreResult = subGenreApiController.UpdateSubGenre(subGenreDto.Id, subGenreDto); var noContentResult = subGenreResult as NoContentResult; // Assert Assert.True(noContentResult.StatusCode is StatusCodes.Status204NoContent); }
public IActionResult UpdateSubGenre(Guid subGenreId, [FromBody] SubGenreUpdateDTO subGenreDto) { if (subGenreDto == null || subGenreId != subGenreDto.Id) { return(BadRequest(ModelState)); } var subGenreObj = _mapper.Map <SubGenreModel>(subGenreDto); var subGenreUpdated = _genreRepo.UpdateSubGenre(subGenreObj); if (!subGenreUpdated) { ModelState.AddModelError("", $"Something went wrong when updating the record {subGenreObj.Name}"); return(StatusCode(500, ModelState)); } return(NoContent()); }
public void PartialUpdateSubGenre_Returns_NoContent() { // Arrange var subGenreRepositoryMock = new Mock <ISubGenreRepository>(); var subGenreIMapperMock = new MapperConfiguration(config => { config.AddProfile(new MovieMapper()); }); var subGenreMapper = subGenreIMapperMock.CreateMapper(); SubGenresController subGenreApiController = new SubGenresController(subGenreRepositoryMock.Object, mapper: subGenreMapper); var patchDoc = new JsonPatchDocument <SubGenreUpdateDTO>(); var subGenreDto = new SubGenreUpdateDTO() { Name = "Comedy", DateCreated = DateTime.Parse("15 May 2015"), Id = Guid.NewGuid() }; var subGenreModel = new SubGenreModel() { Name = "Comedy", DateCreated = DateTime.Parse("15 May 2015"), Id = Guid.NewGuid() }; patchDoc.ApplyTo(subGenreDto, subGenreApiController.ModelState); subGenreRepositoryMock.Setup(repo => repo.SubGenre(It.IsAny <Guid>())) .Returns(subGenreModel); subGenreRepositoryMock.Setup(repo => repo.UpdateSubGenre(It.IsAny <SubGenreModel>())) .Returns(true); // Act var subGenreResult = subGenreApiController.PartialUpdateSubGenre(subGenreModel.Id, patchDoc); var noContentResult = subGenreResult as NoContentResult; // Assert Assert.True(noContentResult.StatusCode is StatusCodes.Status204NoContent); }