/** * Adds validation rule for user password confirmation * * @param \Magento\Framework\Validator\DataObject $validator * @param string $passwordConfirmation * @return \Magento\Framework\Validator\DataObject */ public function addPasswordConfirmationRule(\Magento\Framework\Validator\DataObject $validator, $passwordConfirmation) { $passwordConfirmation = new \Zend_Validate_Identical($passwordConfirmation); $passwordConfirmation->setMessage(__('Your password confirmation must match your password.'), \Zend_Validate_Identical::NOT_SAME); $validator->addRule($passwordConfirmation, 'password'); return $validator; }
/** * @param array $inputEntityData * @param array $expectedErrors * @dataProvider validateDataProvider */ public function testIsValid(array $inputEntityData, array $expectedErrors) { $entity = new \Magento\Framework\DataObject($inputEntityData); $isValid = $this->_model->isValid($entity); $this->assertFalse($isValid, 'Validation is expected to fail.'); $actualMessages = $this->_model->getMessages(); $this->assertCount(count($expectedErrors), $actualMessages, 'Number of messages does not meet expectations.'); foreach ($expectedErrors as $errorIndex => $expectedErrorMessage) { /** @var $actualMessage \Magento\Framework\Message\AbstractMessage */ $actualMessage = $actualMessages[$errorIndex]; $this->assertEquals($expectedErrorMessage, $actualMessage); } }
public function testAddPasswordConfirmationRule() { $this->validator->expects($this->once())->method('addRule')->willReturn($this->validator); $this->assertSame($this->validator, $this->rules->addPasswordConfirmationRule($this->validator, '')); }