public void Delete_ShouldReturnNotFound_WhenGivenInvalidId() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var mockRepository = CreateDataStore(); var controller = new NewsReleasesController(mockRepository.Object, _logger.Object, _mapper.Object); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.Delete("-1"); // does not exist... //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(NotFoundObjectResult), "because a valid Id is required to delete an entity"); }
public void Delete_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.Delete("0") as BadRequestObjectResult; //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(BadRequestObjectResult), "because the delete operation should require a valid data source"); result.StatusCode.Should().Be(400, "because HTTP Status 400 should be returned to signal a Bad Request"); }
public void Delete_ShouldDeleteEntityAndReturnSuccess() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var mockRepository = CreateDataStore(); mockRepository.Setup(r => r.Delete(It.IsAny <NewsRelease>())).Verifiable(); var controller = new NewsReleasesController(mockRepository.Object, _logger.Object, _mapper.Object); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.Delete("0"); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(OkResult), "because the delete operation should go smoothly"); // this will throw if the System-Under-Test (SUT) i.e. the controller didn't call repository.Delete(...) mockRepository.Verify(); }