public async Task GivenInvalidContact_WhenExecuted_ThenErrorReturned() { // Arrange var invalidRequest = new SubmitContactRequestDto(); // Act var response = await sut.Post(invalidRequest); // Assert Assert.IsType <BadRequestObjectResult>(response.Result); var result = (BadRequestObjectResult)response.Result; Assert.Equal((int)HttpStatusCode.BadRequest, result.StatusCode); }
public async Task Post_GivenContactPosted_WhenCommandSuccess_ThenEntityCreatedResponseReturned() { // Arrange var request = new SubmitContactRequestDto(); var entityCreatedResponse = EntityCreatedResponseDto.Create(23); mockMediator.Setup(x => x.Send(It.Is <SubmitContact.Command>(y => y.Request == request), default)) .ReturnsAsync(ApiResponse <EntityCreatedResponseDto> .Ok(entityCreatedResponse)); // Act var response = (OkObjectResult)(await sut.Post(request)).Result; // Assert var result = response.Value as EntityCreatedResponseDto; Assert.Equal(entityCreatedResponse.Id, result?.Id); }
public async Task GivenValidContact_WhenExecuted_ThenOkResponseReturned() { // Arrange var validRequest = new SubmitContactRequestDto { Name = TestData.RandomString(10), Email = TestData.RandomEmail(), Message = TestData.RandomString(20) }; // Act var response = await sut.Post(validRequest); // Assert Assert.IsType <OkObjectResult>(response.Result); var contact = await fixture.Context.Contacts.SingleAsync(x => x.Email == validRequest.Email); Assert.Equal(validRequest.Message, contact.Message); Assert.Equal(validRequest.Name, contact.Name); }
public async Task <ActionResult <EntityCreatedResponseDto> > Post([FromBody] SubmitContactRequestDto contact) { var response = await mediator.Send(new SubmitContact.Command(contact)); return(ToActionResult(response)); }
public Command(SubmitContactRequestDto request) { Request = request; }