/** * @param string $behavior * @param array $attrParams * @param array $rowData * @param bool $isValid * @param string $attrCode * @dataProvider attributeValidationProvider */ public function testAttributeValidation($behavior, $attrParams, $rowData, $isValid, $attrCode = 'attribute_code') { $this->context->expects($this->any())->method('getBehavior')->willReturn($behavior); $result = $this->validator->isAttributeValid($attrCode, $attrParams, $rowData); $this->assertEquals($isValid, $result); if (!$isValid) { $this->assertTrue($this->validator->hasMessages()); } }
/** * Check one attribute. Can be overridden in child. * * @param string $attrCode Attribute code * @param array $attrParams Attribute params * @param array $rowData Row data * @param int $rowNum * @return bool */ public function isAttributeValid($attrCode, array $attrParams, array $rowData, $rowNum) { if (!$this->validator->isAttributeValid($attrCode, $attrParams, $rowData)) { foreach ($this->validator->getMessages() as $message) { $this->addRowError($message, $rowNum, $attrCode); } return false; } return true; }
public function testIsBooleanAttributeValid() { $this->context->expects($this->any())->method('getBehavior')->willReturn(\Magento\ImportExport\Model\Import::BEHAVIOR_REPLACE); $result = $this->validator->isAttributeValid('boolean_attribute', ['type' => 'boolean', 'apply_to' => ['simple'], 'is_required' => false], ['product_type' => 'simple', 'boolean_attribute' => 'Yes']); $this->assertTrue($result); }