Пример #1
0
        public async Task <IActionResult> Register([FromBody] RegisterRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.SelectMany(e => e.Value.Errors.Select(e => e.ErrorMessage))));
            }

            if (model == null)
            {
                return(BadRequest("Invalid client request"));
            }

            if (!string.Equals(model.ConfirmedPassword, model.Password))
            {
                return(BadRequest(new string[] { "Confirmed password not match" }));
            }
            model.Username = model.Username.Trim();
            model.Email    = model.Email.Trim();

            var registerRequest  = new RegisterUser.Command(model);
            var registerResponse = await _mediator.Send(registerRequest);

            if (!registerResponse.Success)
            {
                return(BadRequest(registerResponse.ErrorMessages));
            }
            return(Ok(new { Message = "Registered" }));
        }
Пример #2
0
        public async Task <IActionResult> Register([FromBody] RegisterUser.Command createUser)
        {
            var result = await _mediator.Send(createUser);

            if (result.Success)
            {
                return(Ok(result));
            }

            return(BadRequest(result));
        }
Пример #3
0
        public void ShouldNotHaveErrorWhenPasswordsDoMatch()
        {
            var user = new RegisterUser.Command
            {
                FirstName       = "John",
                LastName        = "Smith",
                Email           = "*****@*****.**",
                Password        = "******",
                ConfirmPassword = "******"
            };

            _validator.ShouldNotHaveValidationErrorFor(x => x.ConfirmPassword, user);
        }
Пример #4
0
        public async void ShouldHaveErrorWhenEmailAlreadyExists()
        {
            var command = new RegisterUser.Command
            {
                Email     = "*****@*****.**",
                Password  = "******",
                FirstName = "John",
                LastName  = "Smith"
            };

            await _commandHandler.Handle(command, new CancellationToken());

            _validator.ShouldHaveValidationErrorFor(x => x.Email, command);
        }
Пример #5
0
        public async Task Handler_Register()
        {
            var registerUser = new User();

            registerUser.Email    = "*****@*****.**";
            registerUser.FullName = "test test";
            command = new RegisterUser.Command
            {
                Email    = registerUser.Email,
                FullName = registerUser.FullName,
                Password = "******"
            };
            var result = await registerUserCommandHandler.Handle(command, new System.Threading.CancellationToken());

            Assert.That(result.Message, Is.EqualTo(Messages.Added));
        }
Пример #6
0
        public async void OnlyOneUserGetsRegistered()
        {
            var command = new RegisterUser.Command
            {
                Email           = "*****@*****.**",
                Password        = "******",
                FirstName       = "John",
                LastName        = "Smith",
                ConfirmPassword = "******"
            };

            await _commandHandler.Handle(command, new CancellationToken());

            var users = await _context.Users.ToListAsync();

            var expectedNumberOfUsers = 1;

            Assert.Equal(expectedNumberOfUsers, users.Count);
        }
Пример #7
0
        public async void RegisterUser()
        {
            var command = new RegisterUser.Command
            {
                Email           = "*****@*****.**",
                Password        = "******",
                FirstName       = "John",
                LastName        = "Smith",
                ConfirmPassword = "******"
            };

            await _commandHandler.Handle(command, new CancellationToken());

            var user = await _context.Users.FirstAsync(x => x.Email == command.Email);

            Assert.NotNull(user);
            Assert.Equal(command.Email, user.Email);
            Assert.True(_hasher.Validate(command.Password, user.Password));
            Assert.Equal(command.FirstName, user.FirstName);
            Assert.Equal(command.LastName, user.LastName);
        }
 public Task <RegisterUser.Response> Register(RegisterUser.Command registerCommand)
 {
     return(_mediator.Send(registerCommand));
 }