public void Put_ShouldReturnNotFound_WhenGivenInvalidId() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var mockRepository = CreateDataStore(); var controller = new NewsReleasesController(mockRepository.Object, _logger.Object, _mapper.Object); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.Put("-1", _mapper.Object.Map <NewsRelease, NewsReleaseViewModel>(_expectedModelReturn)); // does not exist... //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(NotFoundObjectResult), "because a valid Id is required to update an entity"); }
public void Put_ShouldUpdateEntityAndReturnSuccess() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var mockRepository = CreateDataStore(); mockRepository.Setup(r => r.Update("0", It.IsAny <NewsRelease>())).Returns(_expectedModelReturn); var controller = new NewsReleasesController(mockRepository.Object, _logger.Object, _mapper.Object); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.Put("0", _mapper.Object.Map <NewsRelease, NewsReleaseViewModel>(_expectedModelReturn)); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(OkObjectResult), "because the update operation should go smoothly"); }
public void Put_ShouldReturnBadRequest_WhenDataSourceIsUnavailable() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var mockRepository = CreateDataStore(); mockRepository.Setup(r => r.GetReleaseByKey(It.IsAny <string>())).Throws <InvalidOperationException>(); var controller = new NewsReleasesController(mockRepository.Object, _logger.Object, _mapper.Object); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.Put("0", _mapper.Object.Map <NewsRelease, NewsReleaseViewModel>(_expectedModelReturn)) as BadRequestObjectResult; //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(BadRequestObjectResult), "because the update operation should require a valid data source"); result.StatusCode.Should().Be(400, "because HTTP Status 400 should be returned to signal a Bad Request"); }