public void GetById_ShouldReturnNotFound_WhenGivenInvalidId() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var mockRepository = CreateDataStore(); var controller = new NewsReleasesController(mockRepository.Object, _logger.Object, _mapper.Object); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.GetById("-1"); // does not exist... //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(NotFoundResult), "because an invalid Id should not yield a result"); }
public void GetById_ShouldReturnBadRequest_WhenDataSourceIsUnavailable() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var validId = "0"; 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.GetById(validId) as BadRequestObjectResult; //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(BadRequestObjectResult), "because the read 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 GetById_ShouldReturnSuccess() { //----------------------------------------------------------------------------------------------------------- // Arrange //----------------------------------------------------------------------------------------------------------- var mockRepository = CreateDataStore(); var controller = new NewsReleasesController(mockRepository.Object, _logger.Object, _mapper.Object); //----------------------------------------------------------------------------------------------------------- // Act //----------------------------------------------------------------------------------------------------------- var result = controller.GetById("0"); //----------------------------------------------------------------------------------------------------------- // Assert //----------------------------------------------------------------------------------------------------------- result.Should().BeOfType(typeof(OkObjectResult), "because the read operation should go smoothly"); var actualValue = ((result as OkObjectResult).Value as NewsReleaseViewModel); actualValue.Key.Should().Be(_expectedModelReturn.Key); actualValue.PublishDateTime.Should().Be(_expectedModelReturn.PublishDateTime); actualValue.Keywords.Should().Be(_expectedModelReturn.Keywords); }