Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <EntityCreatedResponseDto> > Post([FromBody] SubmitContactRequestDto contact)
        {
            var response = await mediator.Send(new SubmitContact.Command(contact));

            return(ToActionResult(response));
        }
Ejemplo n.º 5
0
 public Command(SubmitContactRequestDto request)
 {
     Request = request;
 }