/** * @param array|string $value Value to validate * @param array $validation Array of more validation metadata * @param bool $required Whether field is required * @param array|bool $expected Expected output * * @dataProvider validateValueDataProvider */ public function testValidateValue($value, $validation, $required, $expected) { $this->attributeMetadataMock->expects($this->any())->method('getValidationRules')->will($this->returnValue(array_merge(array('input_validation' => 'date'), $validation))); $this->attributeMetadataMock->expects($this->any())->method('isRequired')->will($this->returnValue($required)); $actual = $this->date->validateValue($value); $this->assertEquals($expected, $actual); }
/** * @param array|string $value Value to validate * @param array $validation Array of more validation metadata * @param bool $required Whether field is required * @param array|bool $expected Expected output * * @dataProvider validateValueDataProvider */ public function testValidateValue($value, $validation, $required, $expected) { $validationRules = array(); $helper = new \Magento\TestFramework\Helper\ObjectManager($this); $ruleBuilder = $helper->getObject('\\Magento\\Customer\\Service\\V1\\Data\\Eav\\ValidationRuleBuilder'); $ruleBuilder->populateWithArray(array('name' => 'input_validation', 'value' => 'date')); $validationRules[] = new ValidationRule($ruleBuilder); if (is_array($validation)) { foreach ($validation as $ruleName => $ruleValue) { $ruleBuilder->populateWithArray(array('name' => $ruleName, 'value' => $ruleValue)); $validationRules[] = new ValidationRule($ruleBuilder); } } $this->attributeMetadataMock->expects($this->any())->method('getValidationRules')->will($this->returnValue($validationRules)); $this->attributeMetadataMock->expects($this->any())->method('isRequired')->will($this->returnValue($required)); $actual = $this->date->validateValue($value); $this->assertEquals($expected, $actual); }
/** * @param array|string $value Value to validate * @param array $validation Array of more validation metadata * @param bool $required Whether field is required * @param array|bool $expected Expected output * * @dataProvider validateValueDataProvider */ public function testValidateValue($value, $validation, $required, $expected) { $validationRules = []; $validationRule = $this->getMockBuilder('Magento\\Customer\\Api\\Data\\ValidationRuleInterface')->disableOriginalConstructor()->setMethods(['getName', 'getValue'])->getMockForAbstractClass(); $validationRule->expects($this->any())->method('getName')->will($this->returnValue('input_validation')); $validationRule->expects($this->any())->method('getValue')->will($this->returnValue('date')); $validationRules[] = $validationRule; if (is_array($validation)) { foreach ($validation as $ruleName => $ruleValue) { $validationRule = $this->getMockBuilder('Magento\\Customer\\Api\\Data\\ValidationRuleInterface')->disableOriginalConstructor()->setMethods(['getName', 'getValue'])->getMockForAbstractClass(); $validationRule->expects($this->any())->method('getName')->will($this->returnValue($ruleName)); $validationRule->expects($this->any())->method('getValue')->will($this->returnValue($ruleValue)); $validationRules[] = $validationRule; } } $this->attributeMetadataMock->expects($this->any())->method('getValidationRules')->will($this->returnValue($validationRules)); $this->attributeMetadataMock->expects($this->any())->method('isRequired')->will($this->returnValue($required)); $actual = $this->date->validateValue($value); $this->assertEquals($expected, $actual); }