public IActionResult ConfirmExistingAccount(ExistingAccountViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model.ErrorMessages = new List <ValidationErrorDetail>();

                var modelErrors = ModelState.Values.SelectMany(v => v.Errors);
                foreach (var modelError in modelErrors)
                {
                    model.ErrorMessages.Add(new ValidationErrorDetail
                    {
                        Field        = "ExistingAccount",
                        ErrorMessage = modelError.ErrorMessage
                    });
                }

                return(View("~/Views/Users/ExistingAccount.cshtml", model));
            }

            if (model.FirstTimeSignin == "Y")
            {
                return(RedirectToAction("CreateAccount"));
            }

            return(RedirectToAction("SignIn"));
        }
        public void ConfirmExistingAccount_When_Not_FirstTimeSignin_Should_Return_To_SignInAccount()
        {
            ExistingAccountViewModel model = new ExistingAccountViewModel {
                FirstTimeSignin = false
            };
            var result = _userController.ConfirmExistingAccount(model);

            var viewResult = result as RedirectToActionResult;

            viewResult.Should().NotBeNull();
            viewResult.ActionName.Should().Be("SignIn");
        }
Пример #3
0
        public IActionResult ConfirmExistingAccount(ExistingAccountViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("~/Views/Users/ExistingAccount.cshtml", model));
            }

            if (model.FirstTimeSignin == true)
            {
                return(RedirectToAction("CreateAccount"));
            }
            else
            {
                return(RedirectToAction("SignIn"));
            }
        }
        public void ExistingAccountViewModel_When_Invalid_FirstTimeSignin_RedirectsTo_ExistingAccount()
        {
            ExistingAccountViewModel model = new ExistingAccountViewModel {
                FirstTimeSignin = null
            };

            _userController.ModelState.AddModelError("FirstTimeSignin", "First Name is Required");

            var result = _userController.ConfirmExistingAccount(model);

            var viewResult = result as ViewResult;

            viewResult.Should().NotBeNull();
            viewResult.ViewName.Should().Contain("ExistingAccount.cshtml");
            viewResult.Model.Should().BeEquivalentTo(model);
        }