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); }