public async Task Post_ReturnsCreatedAtRouteResult() { // Given var request = new NameCreateRequestModel { Name = "Joe Bloggs" }; var id = 1; var repoResponse = new NameModel { Id = id, Name = request.Name, DateCreated = DateTime.Now }; _mockNameRepository.Setup(repo => repo.AddNameAsync(It.IsAny <string>())) .ReturnsAsync(repoResponse); // When var actionResult = await _nameController.PostAsync(request); // Then var createdAtRouteResult = actionResult.Result as CreatedAtRouteResult; Assert.NotNull(createdAtRouteResult); Assert.Equal(nameof(_nameController.GetByIdAsync), createdAtRouteResult.RouteName); createdAtRouteResult.RouteValues.TryGetValue("Id", out var IdRouteValue); Assert.Equal(id, (int)IdRouteValue); }
public async Task <ActionResult <NameResponseModel> > PostAsync([FromBody] NameCreateRequestModel model) { var nameModel = await _nameRepository.AddNameAsync(model.Name); var responseModel = _mapper.Map <NameResponseModel>(nameModel); return(CreatedAtRoute(nameof(GetByIdAsync), new { id = responseModel.Id }, responseModel)); }