예제 #1
0
 /**
  * @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());
     }
 }
예제 #2
0
 /**
  * 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;
 }
예제 #3
0
 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);
 }