public function testRehashingPasswordHashesScenarioCredentialIsValid()
{
$finalValidatorRehash = password_hash($this->plainTextPassword, PASSWORD_DEFAULT);
$validResult = new ValidationResult(ValidationResult::SUCCESS_PASSWORD_REHASHED, $finalValidatorRehash);
$this->decoratedValidator->expects($this->once())->method('isValid')->with($this->plainTextPassword, $this->isType('string'), $this->legacySalt)->will($this->returnValue($validResult));
$result = $this->decorator->isValid($this->plainTextPassword, $this->upgradedLegacyHash, $this->legacySalt);
$this->assertTrue($result->isValid());
$this->assertEquals(ValidationResult::SUCCESS_PASSWORD_REHASHED, $result->getCode());
// Final rehashed password is a valid hash
$this->assertTrue(password_verify($this->plainTextPassword, $result->getPassword()));
}