24 $this->_validator = new \Magento\Framework\Validator();
32 unset($this->_validator);
50 $expectedMessages = [],
51 $breakChainOnFailure =
false 53 foreach ($validators as $validator) {
54 $this->_validator->addValidator($validator, $breakChainOnFailure);
57 $this->assertEquals($expectedResult, $this->_validator->isValid(
$value));
58 $this->assertEquals($expectedMessages, $this->_validator->getMessages(
$value));
72 $validatorA = $this->createMock(\
Magento\Framework\
Validator\ValidatorInterface::class);
73 $validatorA->expects($this->once())->method(
'isValid')->with(
$value)->will($this->returnValue(
false));
79 $this->returnValue([
'foo' => [
'Foo message 1'],
'bar' => [
'Foo message 2']])
82 $validatorB = $this->createMock(\
Magento\Framework\
Validator\ValidatorInterface::class);
83 $validatorB->expects($this->once())->method(
'isValid')->with(
$value)->will($this->returnValue(
false));
89 $this->returnValue([
'foo' => [
'Bar message 1'],
'bar' => [
'Bar message 2']])
94 [$validatorA, $validatorB],
96 [
'foo' => [
'Foo message 1',
'Bar message 1'],
'bar' => [
'Foo message 2',
'Bar message 2']],
100 $validatorA = $this->createMock(\
Magento\Framework\
Validator\ValidatorInterface::class);
101 $validatorA->expects($this->once())->method(
'isValid')->with(
$value)->will($this->returnValue(
false));
102 $validatorA->expects(
107 $this->returnValue([
'field' =>
'Error message'])
110 $validatorB = $this->createMock(\
Magento\Framework\
Validator\ValidatorInterface::class);
111 $validatorB->expects($this->never())->method(
'isValid');
113 $result[] = [
$value, [$validatorA, $validatorB],
false, [
'field' =>
'Error message'],
true];
116 $validatorA = $this->createMock(\
Magento\Framework\
Validator\ValidatorInterface::class);
117 $validatorA->expects($this->once())->method(
'isValid')->with(
$value)->will($this->returnValue(
true));
118 $validatorA->expects($this->never())->method(
'getMessages');
120 $validatorB = $this->createMock(\
Magento\Framework\
Validator\ValidatorInterface::class);
121 $validatorB->expects($this->once())->method(
'isValid')->with(
$value)->will($this->returnValue(
true));
122 $validatorB->expects($this->never())->method(
'getMessages');
132 public function testAddValidator()
134 $fooValidator = new \Magento\Framework\Validator\Test\Unit\Test\IsTrue();
135 $classConstraint = new \Magento\Framework\Validator\Constraint($fooValidator,
'id');
136 $propertyValidator = new \Magento\Framework\Validator\Constraint\Property($classConstraint,
'name',
'id');
139 $translator = $this->getMockBuilder(
141 )->getMockForAbstractClass();
142 \Magento\Framework\Validator\AbstractValidator::setDefaultTranslator($translator);
144 $this->_validator->addValidator($classConstraint);
145 $this->_validator->addValidator($propertyValidator);
147 [
'instance' => $classConstraint,
'breakChainOnFailure' =>
false],
148 [
'instance' => $propertyValidator,
'breakChainOnFailure' =>
false],
150 $this->assertAttributeEquals($expected,
'_validators', $this->_validator);
151 $this->assertEquals($translator, $fooValidator->getTranslator(),
'Translator was not set');
157 public function testSetTranslator()
159 $fooValidator = new \Magento\Framework\Validator\Test\Unit\Test\IsTrue();
160 $this->_validator->addValidator($fooValidator);
162 $translator = $this->getMockBuilder(
164 )->getMockForAbstractClass();
165 $this->_validator->setTranslator($translator);
166 $this->assertEquals($translator, $fooValidator->getTranslator());
167 $this->assertEquals($translator, $this->_validator->getTranslator());
testIsValid( $value, $validators, $expectedResult, $expectedMessages=[], $breakChainOnFailure=false)