public void Arrange()
        {
            _passwordService = new Mock <IPasswordService>();
            _passwordService.Setup(s => s.VerifyAsync(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.FromResult(false));
            _passwordService.Setup(s => s.VerifyAsync(CurrentPassword, CurrentPasswordHash, Salt, PasswordProfileId))
            .Returns(Task.FromResult(true));

            _configurationService = new Mock <IConfigurationService>();
            _configurationService.Setup(s => s.GetAsync <EmployerUsersConfiguration>())
            .ReturnsAsync(new EmployerUsersConfiguration
            {
                Account = new AccountConfiguration
                {
                    NumberOfPasswordsInHistory = 3
                }
            });

            _validator = new ChangePasswordCommandValidator(_passwordService.Object, _configurationService.Object);

            _command = new ChangePasswordCommand
            {
                User = new Domain.User
                {
                    Id                = UserId,
                    Password          = CurrentPasswordHash,
                    PasswordProfileId = PasswordProfileId,
                    Salt              = Salt,
                    PasswordHistory   = new Domain.HistoricalPassword[0]
                },
                CurrentPassword = CurrentPassword,
                NewPassword     = NewPassword,
                ConfirmPassword = NewPassword,
            };
        }
Exemplo n.º 2
0
        public void Validate_GivenAllPropertiesAreValid_ExpectValidationSuccess()
        {
            var cmd       = new ChangePasswordCommand("current-password", "new-password");
            var validator = new ChangePasswordCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.True(result.IsValid);
        }
Exemplo n.º 3
0
        public void Validate_GivenAllNewPasswordIsEmpty_ExpectValidationFailure()
        {
            var cmd       = new ChangePasswordCommand("current-password", string.Empty);
            var validator = new ChangePasswordCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.False(result.IsValid);
            Assert.Contains(
                result.Errors,
                failure => failure.ErrorCode.Equals(ValidationCodes.FieldIsRequired) &&
                failure.PropertyName == "NewPassword");
        }
Exemplo n.º 4
0
        public void Validate_GivenAllCurrentPasswordIsNull_ExpectValidationFailure()
        {
            var cmd       = new ChangePasswordCommand(null, "new-password");
            var validator = new ChangePasswordCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.False(result.IsValid);
            Assert.Contains(
                result.Errors,
                failure => failure.ErrorCode.Equals(ValidationCodes.FieldIsRequired) &&
                failure.PropertyName == "CurrentPassword");
        }