Merge pull request #6443 from robbieaverill/feature/historical-password-count-test

TEST Add historical password count test
This commit is contained in:
Daniel Hensby 2016-12-29 13:00:49 +00:00 committed by GitHub
commit fe3f9ddf51

View File

@ -8,6 +8,11 @@ use SilverStripe\Dev\SapphireTest;
class PasswordValidatorTest extends SapphireTest
{
/**
* {@inheritDoc}
* @var bool
*/
protected $usesDatabase = true;
public function testValidate()
{
@ -44,8 +49,30 @@ class PasswordValidatorTest extends SapphireTest
$this->assertTrue($r->isValid(), 'Passing enough tests');
}
/**
* Test that a certain number of historical passwords are checked if specified
*/
public function testHistoricalPasswordCount()
{
$this->markTestIncomplete();
$validator = new PasswordValidator;
$validator->checkHistoricalPasswords(3);
Member::set_password_validator($validator);
$member = new Member;
$member->FirstName = 'Repeat';
$member->Surname = 'Password-Man';
$member->Password = 'honk';
$member->write();
// Create a set of used passwords
$member->changePassword('foobar');
$member->changePassword('foobaz');
$member->changePassword('barbaz');
$this->assertFalse($member->changePassword('barbaz')->isValid());
$this->assertFalse($member->changePassword('foobaz')->isValid());
$this->assertFalse($member->changePassword('foobar')->isValid());
$this->assertTrue($member->changePassword('honk')->isValid());
$this->assertTrue($member->changePassword('newpassword')->isValid());
}
}