コード例 #1
0
ファイル: LoginController.cs プロジェクト: vnhrmth/IndexCards
        public async Task <IActionResult> Signup([FromBody] UserUpsertion user)
        {
            try
            {
                var loginUser = new DbUser
                {
                    UserName = user.MailId,
                    Email    = user.MailId,
                };
                var result = await _userManager.CreateAsync(loginUser, user.Password);

                if (result.Succeeded)
                {
                    HttpResponseMessage httpResponseMessage = new HttpResponseMessage();
                    httpResponseMessage.StatusCode = HttpStatusCode.Created;
                    return(Created(string.Empty, httpResponseMessage));
                }

                var errorStr = "";
                foreach (IdentityError error in result.Errors)
                {
                    errorStr += error.Description;
                }
                throw new LoginException(errorStr);
            }
            catch (LoginException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
コード例 #2
0
ファイル: LoginTests.cs プロジェクト: vnhrmth/IndexCards
        public void When_signup_method_is_called_with_failure_result_then_return_bad_request()
        {
            UserUpsertion userUpsertion = new UserUpsertion();

            userUpsertion.Name     = "V";
            userUpsertion.MailId   = "*****@*****.**";
            userUpsertion.Password = "******";

            _userManagerMock.Setup(x =>
                                   x.CreateAsync(It.IsAny <IdentityUser>(),
                                                 "123")).Returns(Task.FromResult(IdentityResult.Failed(new IdentityError())));

            // Act
            var response     = _loginController.Signup(userUpsertion);
            var objectResult = response.Result as ObjectResult;

            //// Assert
            Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.BadRequest);
        }
コード例 #3
0
ファイル: LoginTests.cs プロジェクト: vnhrmth/IndexCards
        public void When_signup_method_is_called_with_empty_parameters_then_return_bad_request(string name, string mailId, string password)
        {
            UserUpsertion userUpsertion = new UserUpsertion();

            userUpsertion.Name     = name;
            userUpsertion.MailId   = mailId;
            userUpsertion.Password = password;

            _userManagerMock.Setup(x =>
                                   x.CreateAsync(It.IsAny <IdentityUser>(), userUpsertion.Password)).
            Returns(Task.FromResult(IdentityResult.Failed(new IdentityError())));

            // Act
            var response     = _loginController.Signup(userUpsertion);
            var objectResult = response.Result as ObjectResult;

            //// Assert
            Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.BadRequest);
        }
コード例 #4
0
ファイル: LoginTests.cs プロジェクト: vnhrmth/IndexCards
        public void When_signup_method_is_called_with_create_async_user_method_returning_null_then_throw_server_error()
        {
            UserUpsertion userUpsertion = new UserUpsertion();

            userUpsertion.Name     = "V";
            userUpsertion.MailId   = "*****@*****.**";
            userUpsertion.Password = "******";

            _userManagerMock.Setup(x =>
                                   x.CreateAsync(It.IsAny <IdentityUser>(),
                                                 "123")).Returns(Task.FromResult((IdentityResult)null));

            // Act
            var response     = _loginController.Signup(userUpsertion);
            var objectResult = response.Result as ObjectResult;

            //// Assert
            Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.InternalServerError);
        }
コード例 #5
0
ファイル: LoginTests.cs プロジェクト: vnhrmth/IndexCards
        public void When_signup_method_is_called_with_data_then_return_created_status_code()
        {
            // Arrange
            UserUpsertion userUpsertion = new UserUpsertion();

            userUpsertion.Name     = "User1";
            userUpsertion.MailId   = "*****@*****.**";
            userUpsertion.Password = "******";


            _userManagerMock.Setup(x =>
                                   x.CreateAsync(It.IsAny <IdentityUser>(), userUpsertion.Password)).
            Returns(Task.FromResult(IdentityResult.Success));

            // Act
            var response = _loginController.Signup(userUpsertion);

            ObjectResult objectResult = response.Result as ObjectResult;

            //// Assert
            Assert.AreEqual(objectResult.StatusCode, (int)HttpStatusCode.Created);
        }