Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }