public async Task <IActionResult> Register([FromQuery] RegisterUserQuery registerQuery) { var userQuery = _mapper.Map <RegisterUserQuery, RegisterUserParams>(registerQuery); bool result = await _authenticationService.RegisterUserAsync(userQuery); if (!result) { return(BadRequest(new Response <string>("Registration failed."))); } return(Ok(new Response <string>("Registration completed successfully"))); }
public async Task <RegisterUserResponse> Register(RegisterUserQuery request) { var id = Guid.NewGuid(); var encryptedPassword = EncryptionHelper.GenerateSaltedHash(request.Password, id.ToString()); var user = new Infrastructure.Database.Entities.User { CountryId = request.CountryId, Created = _clock.UtcNow(), Firstname = request.Firstname, Id = id, Surname = request.Surname, Updated = null, Password = encryptedPassword }; var userRole = new UserRole { User = user, Role = await _context.Roles.SingleAsync(x => x.Name == "User"), Created = _clock.UtcNow() }; var userEmail = new UserEmail { Id = Guid.NewGuid(), Email = request.Email, User = user, Created = _clock.UtcNow() }; await _context.Users.AddAsync(user); await _context.UserEmails.AddAsync(userEmail); await _context.UserRoles.AddAsync(userRole); await _context.SaveChangesAsync(); return(new RegisterUserResponse { Email = request.Email, UserId = id, EmailValidationId = userEmail.Id, Message = "User registered successfully", Success = true, ResponseCode = 201 }); }
public async Task Registration_Email_RequiresActivation() { // Arrange var newUser = new RegisterUserQuery { Email = "*****@*****.**", Firstname = "Craig", Password = "******", Surname = "Lister", CountryId = 0 }; // Act var saveResult = await _sut.Register(newUser); var result = await _sut.GetUserById(saveResult.UserId); // Assert result.Data.Email.CurrentIsValidated.Should().BeFalse(); }
public async Task GetUserById_Should_Return_User() { // Arrange var user = new RegisterUserQuery { Email = "*****@*****.**", Firstname = "Craig", Password = "******", Surname = "Lister", CountryId = 0 }; var result = await _sut.Register(user); // Act var users = await _sut.GetUserById(result.UserId); // Assert users.Data.Email.Current.Should().Be(user.Email); users.Data.Email.CurrentIsValidated.Should().BeFalse(); }
public async Task RegisterUser_IsAssignedUserRoleOnly() { // Arrange var newUser = new RegisterUserQuery { Email = "*****@*****.**", Firstname = "Craig", Password = "******", Surname = "Lister", CountryId = 0 }; // Act var saveResult = await _sut.Register(newUser); var result = await _sut.GetUserById(saveResult.UserId); // Assert result.Data.Roles.Should().ContainSingle(); result.Data.Roles.FirstOrDefault()?.Name.Should().Be("User"); }
public Task <RegisterUserResult> Register(RegisterUserQuery query) { return(Mediator.Send(query)); }