public void ForgotPasswordError()
        {
            ForgotPasswordController controller = new ForgotPasswordController(config);
            ViewResult result = controller.ForgotPasswordError() as ViewResult;

            Assert.IsNotNull(result);
        }
        public void ResetPasswordConfirmation()
        {
            ForgotPasswordController controller = new ForgotPasswordController(config);
            ViewResult result = controller.ResetPasswordConfirmation() as ViewResult;

            Assert.IsNotNull(result);
        }
        public async Task PasswordResetEmail_PasswordResetLinkNotSent_ReturnsNotFound()
        {
            string email     = "fake_email";
            string resetCode = Guid.NewGuid().ToString();

            var registration = new Mock <IRegistration>();
            var httpContext  = new DefaultHttpContext();

            var uriBuilder = new UriBuilder
            {
                Scheme = httpContext.Request.Scheme,
                Host   = httpContext.Request.Host.ToString(),
                Path   = $"/user/ResetPassword/{resetCode}"
            };

            var link = uriBuilder.ToString();

            registration.Setup(register => register.SendPasswordResetLinkEmail(email, link)).ReturnsAsync("User not found...");

            var controllerContext = new ControllerContext()
            {
                HttpContext = httpContext,
            };

            var forgotPasswordController = new ForgotPasswordController(registration.Object)
            {
                ControllerContext = controllerContext,
            };

            var result = await forgotPasswordController.PasswordResetEmail(email);

            var notFoundResult = new NotFoundObjectResult(result);

            Assert.AreEqual(404, notFoundResult.StatusCode);
        }
Beispiel #4
0
        public void SetUp()
        {
            passwordResetService = A.Fake <IPasswordResetService>();

            controller = new ForgotPasswordController(passwordResetService)
                         .WithDefaultContext()
                         .WithMockUser(false);
        }
        public void NoEmailFilledin()
        {
            ForgotPasswordController controller     = new ForgotPasswordController(config);
            ForgotPassword           forgotPassword = new ForgotPassword()
            {
                emailAddress = ""
            };

            ControllerValidationHelper.BindViewModel(controller, forgotPassword);
            ViewResult result = controller.ForgotPassword() as ViewResult;

            Assert.AreEqual("Er is geen e-mailadres ingevuld", result.ViewData.ModelState["emailAddress"].Errors[0].ErrorMessage);
        }
Beispiel #6
0
        public void Index_should_redirect_if_user_is_authenticated()
        {
            // Given
            var controllerWithAuthenticatedUser = new ForgotPasswordController(passwordResetService)
                                                  .WithDefaultContext()
                                                  .WithMockUser(true);

            // When
            var result = controllerWithAuthenticatedUser.Index();

            // Then
            result.Should().BeRedirectToActionResult().WithControllerName("Home").WithActionName("Index");
        }
        public async Task ResetPassword_UserResetsPassword_ReturnsOk()
        {
            var registration = new Mock <IRegistration>();

            registration.Setup(register => register.ResetUserPassword(new ResetPassword())).ReturnsAsync("New password updated successfully...");

            var forgotPasswordController = new ForgotPasswordController(registration.Object);

            var result = await forgotPasswordController.ResetPassword(new ResetPassword());

            var okResult = new OkObjectResult(result);

            Assert.AreEqual(200, okResult.StatusCode);
        }
        public async Task ResetPassword_UserUnableToResetPassword_ReturnsNotFound()
        {
            var registration = new Mock <IRegistration>();

            registration.Setup(register => register.ResetUserPassword(new ResetPassword())).ReturnsAsync("Account doesn't exist...");

            var forgotPasswordController = new ForgotPasswordController(registration.Object);

            var result = await forgotPasswordController.ResetPassword(new ResetPassword());

            var notFoundResult = new NotFoundObjectResult(result);

            Assert.AreEqual(404, notFoundResult.StatusCode);
        }
        public void ResetPassword_Failed()
        {
            //Arrenge
            ForgotPassword_Failed();
            ForgotPasswordController forgotPasswordController = new ForgotPasswordController(forgotPasswordDataProvider);

            //Act
            var getForgotPasswordResult = forgotPasswordController.ResetPassword(emptyResetPasswordModel);
            var response = getForgotPasswordResult as HttpResult <Response <ResetPasswordModel> >;

            //Assert
            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Value);
            Assert.IsTrue(response.Value.DataItems.Count == 0);
            Assert.IsTrue(response.Value.RowAffected == 0);
        }
        public void ResetPassword_Success()
        {
            //Arrenge
            ForgotPassword_Success();
            ForgotPasswordController forgotPasswordController = new ForgotPasswordController(forgotPasswordDataProvider);

            //Act
            var getForgotPasswordResult = forgotPasswordController.ResetPassword(resetPasswordModel);
            var response = getForgotPasswordResult as HttpResult <Response <ResetPasswordModel> >;

            //Assert
            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Value);
            Assert.IsNotNull(response.Value.DataItems, "Data items can't be null");
            Assert.IsTrue(response.Value.RowAffected > 0);
        }
        public void VerifySecurityDetails_Failed()
        {
            //Arrenge
            ForgotPassword_Failed();
            ForgotPasswordController forgotPasswordController = new ForgotPasswordController(forgotPasswordRuleEngine);

            //Act
            var getForgotPasswordResult = forgotPasswordController.VerifySecurityDetails(emptyResetPasswordModel);
            var response = getForgotPasswordResult as HttpResult <Response <ResetPasswordModel> >;

            //Assert
            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Value);
            Assert.IsTrue(response.Value.DataItems.Count == 0);
            Assert.IsTrue(response.Value.RowAffected == 0);
        }
        public void VerifySecurityDetails_Success()
        {
            //Arrenge
            ForgotPassword_Success();
            ForgotPasswordController forgotPasswordController = new ForgotPasswordController(forgotPasswordRuleEngine);

            //Act
            var getForgotPasswordResult = forgotPasswordController.VerifySecurityDetails(resetPasswordModel);
            var response = getForgotPasswordResult as HttpResult <Response <ResetPasswordModel> >;

            //Assert
            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Value);
            Assert.IsNotNull(response.Value.DataItems, "Data items can't be null");
            Assert.IsTrue(response.Value.RowAffected > 0);
        }
        public void SendResetLink_Failed()
        {
            //Arrenge
            ForgotPassword_Failed();
            ForgotPasswordController forgotPasswordController = new ForgotPasswordController(forgotPasswordRuleEngine);

            //Act
            var getForgotPasswordResult = forgotPasswordController.SendResetLink(string.Empty, string.Empty);
            var response = getForgotPasswordResult as HttpResult <Response <ResetPasswordModel> >;

            //Assert
            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Value);
            Assert.IsTrue(response.Value.DataItems.Count == 0);
            Assert.IsTrue(response.Value.RowAffected == 0);
        }
        public void SendResetLink_Success()
        {
            //Arrenge
            ForgotPassword_Success();
            ForgotPasswordController forgotPasswordController = new ForgotPasswordController(forgotPasswordRuleEngine);

            //Act
            var getForgotPasswordResult = forgotPasswordController.SendResetLink("*****@*****.**", "127.0.0.1");
            var response = getForgotPasswordResult as HttpResult <Response <ResetPasswordModel> >;

            //Assert
            Assert.IsNotNull(response);
            Assert.IsNotNull(response.Value);
            Assert.IsNotNull(response.Value.DataItems, "Data items can't be null");
            Assert.IsTrue(response.Value.RowAffected > 0);
        }
Beispiel #15
0
        public UnitTestForgetPassword()
        {
            var ioptions   = new Mock <IOptions <EmailConfig> >();
            var cbaoptions = new Mock <EmailConfig>();

            ioptions.Setup(s => s.Value).Returns(cbaoptions.Object);
            _emailConfig = ioptions.Object;

            cbaoptions.SetupAllProperties();

            _dbOptions = new DbContextOptionsBuilder <CBAContext>()
                         .UseInMemoryDatabase(Guid.NewGuid().ToString()).Options;

            _mockUserStore   = new Mock <IUserStore <CBAUser> >();
            _mockUserManager = new Mock <UserManager <CBAUser> >(_mockUserStore.Object,
                                                                 null, null, null, null, null, null, null, null);

            _emailService = new Mock <IEmailService>();
            _emailService.Setup(x => x.SendEmail(It.IsAny <EmailConfig>(), It.IsAny <Email>())).ReturnsAsync(true);
            _forgetPasswordController = new ForgotPasswordController(_emailService.Object, _emailConfig, _mockUserManager.Object);
        }