public async Task InsertTravelAsync_Return_Created_Result(Mock <ITravelService> userService, TravelResponseDto expected) { // Arrange var sut = new TravelController(userService.Object); sut.ControllerContext = new ControllerContext { HttpContext = new DefaultHttpContext() }; TravelRequestDto requestDto = new TravelRequestDto(); userService.Setup(setup => setup.InsertTravelAsync(requestDto)).Returns(Task.FromResult(expected)); // Act var result = sut.InsertTravelAsync(requestDto); var apiResult = result.Result.Should().BeOfType <CreatedAtActionResult>().Subject; var model = Assert.IsType <ApiResult>(apiResult.Value); TravelResponseDto response = model.Data as TravelResponseDto; // Assert Assert.IsType <CreatedAtActionResult>(result.Result); Assert.IsNotType <OkObjectResult>(result.Result); Assert.IsNotType <BadRequestObjectResult>(result.Result); Assert.IsNotType <AcceptedAtActionResult>(result.Result); Assert.NotNull(result.Result); Assert.NotNull(expected); Assert.IsAssignableFrom <TravelResponseDto>(expected); }
public async Task <TravelResponseDto> InsertTravelAsync([NotNull] TravelRequestDto dto) { var mapped = mapper.Map <Travel>(dto); return(mapper.Map <TravelResponseDto>(await travelRepository.AddAsync(mapped))); }
public async Task <IActionResult> InsertTravelAsync([FromBody] TravelRequestDto model) { return(CreatedAtAction(nameof(TravelFilterAsync), Request.RouteValues, await travelService.InsertTravelAsync(model))); }