public async Task <IActionResult> Register([FromBody] UserRegisterationDto userRegisteration)
        {
            var user = _mapper.Map <ApplicationUser>(userRegisteration);

            var result = await _userManager.CreateAsync(user, userRegisteration.Password);

            if (!result.Succeeded)
            {
                foreach (var error in result.Errors)
                {
                    ModelState.TryAddModelError(error.Code, error.Description);
                }

                return(BadRequest(ModelState));
            }

            foreach (var role in userRegisteration.Roles)
            {
                if (await _roleManager.RoleExistsAsync(role))
                {
                    await _userManager.AddToRoleAsync(user, role);
                }
            }

            return(StatusCode(201));
        }
        public async Task RegisterUserWithInvalidData_Returns422BadRequest()
        {
            var requestBody = new UserRegisterationDto
            {
                FirstName = "someUser",
                LastName  = "someUserLastName",
            };
            var response = await _client.PostAsJsonAsync("/api/auth/register", requestBody);

            Assert.Equal(422, (int)response.StatusCode);
        }
        public async Task RegisterUser_Returns201CreatedOnSuccess()
        {
            var userName    = Guid.NewGuid().ToString();
            var password    = Guid.NewGuid().ToString();
            var email       = $"{Guid.NewGuid()}@gmail.com";
            var requestBody = new UserRegisterationDto
            {
                FirstName = "someUser",
                LastName  = "someUserLastName",
                UserName  = userName,
                Password  = password,
                Email     = email
            };
            var response = await _client.PostAsJsonAsync("/api/auth/register", requestBody);

            Assert.Equal(201, (int)response.StatusCode);
        }
Beispiel #4
0
        public async Task Register_Returns201ObjectResultOnSuccess()
        {
            var userRegisterDto = new UserRegisterationDto
            {
                FirstName = "New User",
                LastName  = "new User lastName",
                UserName  = "******",
                Password  = "******",
                Email     = "*****@*****.**",
            };
            // Act
            var result = await _controller.Register(userRegisterDto);

            var statusResult = result as ObjectResult;

            //Assert
            Assert.IsType <ObjectResult>(result);
            Assert.Equal(201, statusResult.StatusCode);
        }
Beispiel #5
0
        public async Task <IActionResult> Register(UserRegisterationDto userRegistrationDto)
        {
            var user = _mapper.Map <User>(userRegistrationDto);

            var result = await _userManager.CreateAsync(user, userRegistrationDto.Password);

            if (!result.Succeeded)
            {
                foreach (var err in result.Errors)
                {
                    ModelState.TryAddModelError(err.Code, err.Description);
                }
                _logger.LogError("Invalid model state for the UserRegistration object");
                return(UnprocessableEntity(ModelState));
            }

            await _userManager.AddToRoleAsync(user, "Jogger");

            return(StatusCode(201, new { Success = true }));
        }