public async Task <IActionResult> Create([FromBody] UserCommands.Create createUser) { var user = new User(_idProvider.NextUser(), createUser.Username); await _userRepository.InsertAsync(user); return(CreatedAtRoute(RouteNames.GetUser, new { id = user.Id }, user)); }
public async Task Create_Always_ShouldCreateUser() { var key = nameof(User); var create = new UserCommands.Create { Username = "******" }; var response = await _client.PostAsJsonAsync(CreateUserEndpoint, create); var users = _factory.FakeUsersCache.Get <List <User> >(key); Assert.Contains(users, user => user.Username.Equals("fakeusername")); }
public async Task Create_Always_ShouldReturnCreatedAtRoute() { var createUser = new UserCommands.Create(); var nextId = 1; var controller = GetUsersController(); A.CallTo(() => _uniqueIdProvider.NextUser()).Returns(nextId); var result = await controller.Create(createUser); Assert.NotNull(result); var createdAtRoute = Assert.IsType <CreatedAtRouteResult>(result); var user = Assert.IsType <User>(createdAtRoute.Value); Assert.Equal(nextId, user.Id); }