コード例 #1
0
        public async Task TestCreatesNewUser()
        {
            var user = new User {
                Name = "Test User 1", Email = "*****@*****.**", Password = "******"
            };

            try
            {
                var result = await _userRepository.AddUserAsync(user.Name, user.Email, user.Password);

                Assert.IsNotNull(result.User);

                var getUser = await _userRepository.GetUserAsync(user.Email);

                Assert.AreEqual(result.User.Name, getUser.Name);
                Assert.AreEqual(result.User.Email, getUser.Email);
                Assert.IsNull(getUser.Password);
                Assert.IsNotNull(result.User.HashedPassword);

                result = await _userRepository.AddUserAsync(user.Name, user.Email, user.Password);

                Assert.IsNotNull(result.ErrorMessage);
                Assert.IsTrue(result.ErrorMessage.Contains("E11000 duplicate key error"), "Duplicate key error is expected.");
            }
            catch (Exception e)
            {
                Assert.Fail(e.Message);
            }
            finally
            {
                await _userRepository.DeleteUserAsync(user.Email);
            }
        }
コード例 #2
0
        public async Task <ActionResult> AddUser([FromBody] User user)
        {
            Dictionary <string, string> errors = new Dictionary <string, string>();

            if (user.Name.Length < 3)
            {
                errors.Add("name", "Your username must be at least 3 characters long.");
            }
            if (user.Password.Length < 8)
            {
                errors.Add("password", "Your password must be at least 8 characters long.");
            }
            if (errors.Count > 0)
            {
                return(BadRequest(new { error = errors }));
            }
            var response = await _userRepository.AddUserAsync(user.Name, user.Email, user.Password);

            if (response.User != null)
            {
                response.User.AuthToken = _jwtAuthentication.Value.GenerateToken(response.User);
            }
            if (!response.Success)
            {
                return(BadRequest(new { error = response.ErrorMessage }));
            }
            return(Ok(response.User));
        }
コード例 #3
0
        public async Task <IActionResult> CreateUser([FromBody] User user)
        {
            if (user.FirstName.Length <= 0 || user.FirstName.Length >= 20 ||
                user.LastName.Length <= 0 || user.LastName.Length >= 80 ||
                user.Password == null)
            {
                return(BadRequest());
            }

            await _repository.AddUserAsync(user);

            return(CreatedAtAction(nameof(GetUser), new { id = user.Id }, user));
        }
コード例 #4
0
ファイル: UsersController.cs プロジェクト: ALKONDR/FinJournal
        public async Task <IActionResult> Post([FromBody] User user)
        {
            try
            {
                if ((await _usersRepository.GetUserByUserNameAsync(user.UserName)) != null)
                {
                    return(BadRequest("Such userName already exists"));
                }

                if (await _usersRepository.AddUserAsync(user))
                {
                    return(Ok());
                }
            }
            catch (Exception e)
            {
                _logger.LogError($"Error while posting user {e.Message}");
            }
            return(BadRequest());
        }