public void NotPostWithInvalidObject_ReturnBadRequest() { _controller.ModelState.AddModelError("", ""); var result = _controller.Post(new RentalBO()); Assert.IsType <BadRequestObjectResult>(result); }
public async Task Post_WhenCreateARental_ShouldReturnsTheRentalCreated() { //Arrenge _serviceMock.Setup(s => s.AddNewRental(It.IsAny <RentalDto>())) .ReturnsAsync(new RentalDto { Id = 1, ClientId = 1, StartDate = new DateTime(2021, 04, 1), EndDate = new DateTime(2021, 04, 10) }); var newRentalRequest = new RentalRequestModel { ClientId = 1, StartDate = new DateTime(2021, 04, 1), EndDate = new DateTime(2021, 04, 10) }; //Act var result = await _sut.Post(newRentalRequest); //Assert result.Should().BeOfType(typeof(CreatedAtActionResult)); var value = result.As <ObjectResult>().Value.As <RentalResponseModel>(); value.Id.Should().Be(1); value.ClientId.Should().Be(1); value.StartDate.Should().Be(new DateTime(2021, 04, 1)); value.EndDate.Should().Be(new DateTime(2021, 04, 10)); _serviceMock.Verify(s => s.AddNewRental(It.Is <RentalDto>(r => r.ClientId == 1 && r.StartDate == new DateTime(2021, 04, 1) && r.EndDate == new DateTime(2021, 04, 10) )), Times.Once); }