예제 #1
0
            public void IgnoresTicket()
            {
                var source = new ResetPasswordForm();

                var destination = Mapper.Map <ResetPasswordCommand>(source);

                destination.ShouldNotBeNull();
                destination.Ticket.ShouldBeNull();
            }
예제 #2
0
            public void MapsPasswordConfirmation()
            {
                var source = new ResetPasswordForm
                {
                    PasswordConfirmation = "password confirmation",
                };

                var destination = Mapper.Map <ResetPasswordCommand>(source);

                destination.ShouldNotBeNull();
                destination.PasswordConfirmation.ShouldEqual(source.PasswordConfirmation);
            }
예제 #3
0
            public void MapsToken()
            {
                var source = new ResetPasswordForm
                {
                    Token = Guid.NewGuid(),
                };

                var destination = Mapper.Map <ResetPasswordCommand>(source);

                destination.ShouldNotBeNull();
                destination.Token.ShouldEqual(source.Token);
            }
            public void IsValidWhen_NotEqualToPassword_AndPasswordIsNull()
            {
                var validated = new ResetPasswordForm
                {
                    PasswordConfirmation = "123",
                };
                var passwords = new Mock<IStorePasswords>(MockBehavior.Strict);
                passwords.Setup(p => p.MinimumPasswordLength).Returns(6);
                var validator = CreateValidator(passwords.Object);

                var results = validator.Validate(validated);

                var error = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName);
                error.ShouldBeNull();
            }
            public void IsValidWhen_MatchesEntity()
            {
                var confirmation = new EmailConfirmation(EmailConfirmationIntent.ResetPassword);
                var validated = new ResetPasswordForm
                {
                    Token = confirmation.Token,
                };
                var entities = new Mock<IQueryEntities>(MockBehavior.Strict).Initialize();
                entities.Setup(m => m.Query<EmailConfirmation>()).Returns(new[] { confirmation }.AsQueryable);
                var passwords = new Mock<IStorePasswords>(MockBehavior.Strict);
                passwords.Setup(p => p.MinimumPasswordLength).Returns(6);
                var validator = CreateValidator(entities.Object, passwords.Object);

                var results = validator.Validate(validated);

                var error = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName);
                error.ShouldBeNull();
            }
            public void IsInvalidWhen_IsNull()
            {
                var validated = new ResetPasswordForm();
                var passwords = new Mock<IStorePasswords>(MockBehavior.Strict);
                passwords.Setup(p => p.MinimumPasswordLength).Returns(6);
                var validator = CreateValidator(passwords.Object);

                var results = validator.Validate(validated);

                results.IsValid.ShouldBeFalse();
                results.Errors.Count.ShouldBeInRange(1, int.MaxValue);
                var error = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName);
                error.ShouldNotBeNull();
                // ReSharper disable PossibleNullReferenceException
                error.ErrorMessage.ShouldEqual(
                    ResetPasswordValidator.FailedBecausePasswordConfirmationWasEmpty);
                // ReSharper restore PossibleNullReferenceException
            }
            public void IsInvalidWhen_MatchesNoEntity()
            {
                var validated = new ResetPasswordForm
                {
                    Token = Guid.NewGuid(),
                };
                var entities = new Mock<IQueryEntities>(MockBehavior.Strict).Initialize();
                entities.Setup(m => m.Query<EmailConfirmation>()).Returns(new EmailConfirmation[] { }.AsQueryable);
                var passwords = new Mock<IStorePasswords>(MockBehavior.Strict);
                passwords.Setup(p => p.MinimumPasswordLength).Returns(6);
                var validator = CreateValidator(entities.Object, passwords.Object);

                var results = validator.Validate(validated);

                results.IsValid.ShouldBeFalse();
                results.Errors.Count.ShouldBeInRange(1, int.MaxValue);
                var error = results.Errors.SingleOrDefault(e => e.PropertyName == PropertyName);
                error.ShouldNotBeNull();
                // ReSharper disable PossibleNullReferenceException
                error.ErrorMessage.ShouldEqual(string.Format(
                    ValidateEmailConfirmation.FailedBecauseTokenMatchedNoEntity,
                        validated.Token));
                // ReSharper restore PossibleNullReferenceException
            }