public void ValidRegisterShouldCreateANewUser() { var options = new DbContextOptionsBuilder <TasksDbContext>() .UseInMemoryDatabase(databaseName: nameof(ValidRegisterShouldCreateANewUser))// "ValidRegisterShouldCreateANewUser") .Options; using (var context = new TasksDbContext(options)) { var validator = new RegisterValidator(); var usersService = new UsersService(context, validator, null, null, config); var added = new RegisterPostDTO() { FirstName = "Julia", LastName = "Bush", Username = "******", Email = "*****@*****.**", Password = "******" }; var result = usersService.Register(added); Assert.IsNull(result); //Assert.AreEqual(added.Username, context.Users.FirstOrDefault(u => u.Id == 1).Username); //Assert.AreEqual(1, context.UserUserRoles.FirstOrDefault(uur => uur.Id == 1).UserId); } }
public void GetByIdShouldReturnAnValidUser() { var options = new DbContextOptionsBuilder <TasksDbContext>() .UseInMemoryDatabase(databaseName: nameof(GetByIdShouldReturnAnValidUser)) .Options; using (var context = new TasksDbContext(options)) { var validator = new RegisterValidator(); var usersService = new UsersService(context, validator, null, null, config); var added = new RegisterPostDTO() { FirstName = "Julia", LastName = "Bush", Username = "******", Email = "*****@*****.**", Password = "******" }; usersService.Register(added); var userById = usersService.GetById(3); Assert.NotNull(userById); Assert.AreEqual("Julia", userById.FirstName); } }
//[HttpPost] public IActionResult Register([FromBody] RegisterPostDTO registerModel) { var user = _userService.Register(registerModel); if (user == null) { return(BadRequest(new { ErrorMessage = "Username already exists." })); } return(Ok(user)); }
//[HttpPost] public IActionResult Register([FromBody] RegisterPostDTO registerModel) { var errors = _userService.Register(registerModel); if (errors != null) { return(BadRequest(errors)); } return(Ok()); }
public LogInGetDTO Register(RegisterPostDTO registerInfo) { User existing = context.Users.FirstOrDefault(u => u.Username == registerInfo.Username); if (existing != null) { return(null); } context.Users.Add(new User { Email = registerInfo.Email, LastName = registerInfo.LastName, FirstName = registerInfo.FirstName, Password = ComputeSha256Hash(registerInfo.Password), Username = registerInfo.Username, UserRole = UserRole.Regular }); context.SaveChanges(); return(Authenticate(registerInfo.Username, registerInfo.Password)); }
public ErrorsCollection Validate(RegisterPostDTO registerPostDTO, TasksDbContext context) { ErrorsCollection errorsCollection = new ErrorsCollection { Entity = nameof(RegisterPostDTO) }; User existing = context.Users.FirstOrDefault(u => u.Username == registerPostDTO.Username); if (existing != null) { errorsCollection.ErrorMessages.Add($"The username {registerPostDTO.Username} is already taken !"); } if (registerPostDTO.Password.Length < 7) { errorsCollection.ErrorMessages.Add("The password cannot be shorter than 7 characters !"); } if (errorsCollection.ErrorMessages.Count > 0) { return(errorsCollection); } return(null); }
public ErrorsCollection Register(RegisterPostDTO registerInfo) { var errors = registerValidator.Validate(registerInfo, context); if (errors != null) { return(errors); } User toAdd = new User { FirstName = registerInfo.FirstName, LastName = registerInfo.LastName, Email = registerInfo.Email, Username = registerInfo.Username, Password = ComputeSha256Hash(registerInfo.Password), UserUserRoles = new List <UserUserRole>() }; var defaultRole = context .UserRoles .FirstOrDefault(urole => urole.Name == UserRoles.Regular); context.Users.Add(toAdd); context.UserUserRoles.Add(new UserUserRole { User = toAdd, UserRole = defaultRole, StartTime = DateTime.Now, EndTime = null }); context.SaveChanges(); return(null); }