/// <summary> /// Creates a new user. /// </summary> /// <param name="userCreationRequestDto">DTO containing user creation parameters (for the request body).</param> /// <returns>The user creation response data containing the TOTP secret to show only ONCE to the user (won't be stored)... or <c>null</c> if the creation failed.</returns> public async Task <UserCreationResponseDto> CreateUser(UserCreationRequestDto userCreationRequestDto) { var request = new RestRequest( method: Method.Post, resource: new Uri("users/create", UriKind.Relative) ); request.AddStringBody(JsonSerializer.Serialize(userCreationRequestDto), "application/json"); RestResponse response = await restClient.ExecuteAsync(request).ConfigureAwait(false); if (response?.StatusCode != HttpStatusCode.OK) { return(null); } try { return(JsonSerializer.Deserialize <UserCreationResponseDto>(response.Content)); } catch { return(null); } }
public void CreateUser_ReturnsCreatedUser() { var userCreationDto = new UserCreationRequestDto { Email = "*****@*****.**", Name = "John Smith", Password = "******" }; var userStub = new AppUser { Id = 3, Email = userCreationDto.Email, Name = userCreationDto.Name }; _userServiceMock.Setup(s => s.Create(It.Is <string>(n => n == userCreationDto.Name), It.Is <string>(e => e == userCreationDto.Email), It.Is <string>(p => p == userCreationDto.Password))).Returns(userStub); var userDto = _controller.UserCreate(userCreationDto); Assert.Equal(3, userDto.Id); Assert.Equal(userCreationDto.Name, userDto.Name); Assert.Equal(userCreationDto.Email, userDto.Email); }
public UserDto UserCreate([FromBody] UserCreationRequestDto userCreationRequest) { return(_mapper.Map <UserDto>(_userService.Create(userCreationRequest.Name, userCreationRequest.Email, userCreationRequest.Password))); }