public async Task Post_WhenCalled_Should_Return_OkResult() { // Arrange var contactMessageInputModel = new ContactMessageInputModel { Email = "*****@*****.**", Message = "Wash hands", Name = "Tissue" }; _mediator.Send(Arg.Any <IRequest <CommandResult> >()).Returns(new CommandResult { IsSuccessful = true, Data = "success" }); // Act var result = await _sut.Post(contactMessageInputModel); // Assert result.Should().BeOfType <OkResult>(); }
public async Task <IActionResult> Post([FromBody] ContactMessageInputModel model) { if (ModelState.IsValid) { var result = await _mediator.Send(new SendContactUsEmailCommand { Name = model.Name, Email = model.Email, Message = model.Message }); if (result.IsSuccessful) { return(Ok()); } return(BadRequest(result.Errors)); } return(BadRequest(ModelState.Errors())); }
public async Task Post_WhenCalled_Should_Return_BadRequestResult_With_SendEmail_Validation_Error_List() { // Arrange var expected = "Unable to send message."; var contactMessageInputModel = new ContactMessageInputModel { Email = "*****@*****.**", Message = "Wash hands", Name = "Tissue" }; _mediator.Send(Arg.Any <IRequest <CommandResult> >()).Returns(new CommandResult { IsSuccessful = false, Data = "failed", Errors = new List <string> { "Unable to send message." } }); // Act var result = await _sut.Post(contactMessageInputModel) as BadRequestObjectResult; // Assert result.Should().NotBeNull(); var errors = result?.Value as IEnumerable <string>; errors.Should().ContainSingle(expected); }
public async Task Post_WhenCalled_Should_Return_BadRequestResult_With_ModelState_Error_List() { // Arrange var expected = "Email is required"; var contactMessageInputModel = new ContactMessageInputModel { Email = null, Message = "Wash hands", Name = "Tissue" }; _sut.ModelState.AddModelError("Email", "Email is required"); _mediator.Send(Arg.Any <IRequest <CommandResult> >()).Returns(new CommandResult { IsSuccessful = true, Data = "success" }); // Act var result = await _sut.Post(contactMessageInputModel) as BadRequestObjectResult; // Assert result.Should().NotBeNull(); var errors = result?.Value as IEnumerable <string>; errors.Should().ContainSingle(expected); }