Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        //[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));
        }
Ejemplo n.º 4
0
        //[HttpPost]
        public IActionResult Register([FromBody] RegisterPostDTO registerModel)
        {
            var errors = _userService.Register(registerModel);

            if (errors != null)
            {
                return(BadRequest(errors));
            }
            return(Ok());
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 7
0
        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);
        }