Example #1
0
        public void CanReset_InvalidState_ReturnsFalse()
        {
            validator.ModelState.AddModelError("Test", "Test");

            Assert.False(validator.CanReset(ObjectsFactory.CreateAccountResetView(account.Id + 1)));
            Assert.Single(validator.ModelState);
        }
        public void CanReset_ExpiredToken_ReturnsFalse()
        {
            account.RecoveryTokenExpiration = DateTime.Now.AddMinutes(-5);
            context.Update(account);
            context.SaveChanges();

            Boolean canReset = validator.CanReset(ObjectsFactory.CreateAccountResetView(account.Id + 1));
            Alert   alert    = validator.Alerts.Single();

            Assert.False(canReset);
            Assert.Equal(0, alert.Timeout);
            Assert.Empty(validator.ModelState);
            Assert.Equal(AlertType.Danger, alert.Type);
            Assert.Equal(Validation.For <AccountView>("ExpiredToken"), alert.Message);
        }
        public AuthControllerTests()
        {
            mail       = Substitute.For <IMailClient>();
            service    = Substitute.For <IAccountService>();
            validator  = Substitute.For <IAccountValidator>();
            controller = Substitute.ForPartsOf <AuthController>(validator, service, mail);
            controller.ControllerContext.HttpContext = Substitute.For <HttpContext>();
            controller.TempData = Substitute.For <ITempDataDictionary>();
            controller.ControllerContext.RouteData = new RouteData();
            controller.Url = Substitute.For <IUrlHelper>();

            accountRecovery = ObjectsFactory.CreateAccountRecoveryView();
            accountReset    = ObjectsFactory.CreateAccountResetView();
            accountLogin    = ObjectsFactory.CreateAccountLoginView();
        }
        public void Reset_Account()
        {
            AccountResetView view = ObjectsFactory.CreateAccountResetView();

            service.Reset(view);

            Account actual   = context.Set <Account>().AsNoTracking().Single();
            Account expected = account;

            Assert.Equal(hasher.HashPassword(view.NewPassword !), actual.Passhash);
            Assert.Equal(expected.CreationDate, actual.CreationDate);
            Assert.Equal(expected.IsLocked, actual.IsLocked);
            Assert.Equal(expected.Username, actual.Username);
            Assert.Null(actual.RecoveryTokenExpirationDate);
            Assert.Equal(expected.RoleId, actual.RoleId);
            Assert.Equal(expected.Email, actual.Email);
            Assert.Equal(expected.Id, actual.Id);
            Assert.Null(actual.RecoveryToken);
        }
 public void CanReset_ValidAccount()
 {
     Assert.True(validator.CanReset(ObjectsFactory.CreateAccountResetView(0)));
     Assert.Empty(validator.ModelState);
     Assert.Empty(validator.Alerts);
 }