Пример #1
0
 /**
  * Run test validate
  *
  * @param $trackDataMap
  * @param $trackData
  * @param $expectedWarnings
  * @dataProvider providerTrackData
  */
 public function testValidate($trackDataMap, $trackData, $expectedWarnings)
 {
     $this->trackModelMock->expects($this->any())->method('hasData')->will($this->returnValueMap($trackDataMap));
     $this->trackModelMock->expects($this->once())->method('getData')->will($this->returnValue($trackData));
     $actualWarnings = $this->validator->validate($this->trackModelMock);
     $this->assertEquals($expectedWarnings, $actualWarnings);
 }
Пример #2
0
 /**
  * Test _beforeSaveMethod via save() with failed validation
  *
  * @expectedException \Magento\Framework\Exception\LocalizedException
  * @expectedExceptionMessage Cannot save track:
  */
 public function testSaveValidationFailed()
 {
     $this->validatorMock->expects($this->once())->method('validate')->with($this->equalTo($this->trackModelMock))->will($this->returnValue(['warning message']));
     $this->trackModelMock->expects($this->any())->method('getData')->willReturn([]);
     $this->trackResource->save($this->trackModelMock);
     $this->assertTrue(true);
 }
Пример #3
0
 /**
  * Performs validation before save
  *
  * @param \Magento\Framework\Model\AbstractModel $object
  * @return $this
  * @throws \Magento\Framework\Model\Exception
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     parent::_beforeSave($object);
     $errors = $this->validator->validate($object);
     if (!empty($errors)) {
         throw new \Magento\Framework\Model\Exception(__("Cannot save track") . ":\n" . implode("\n", $errors));
     }
     return $this;
 }
Пример #4
0
 /**
  * Performs validation before save
  *
  * @param \Magento\Framework\Model\AbstractModel $object
  * @return $this
  * @throws \Magento\Framework\Exception\LocalizedException
  */
 protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
 {
     /** @var \Magento\Sales\Model\Order\Shipment\Track $object */
     if (!$object->getParentId() && $object->getShipment()) {
         $object->setParentId($object->getShipment()->getId());
     }
     parent::_beforeSave($object);
     $errors = $this->validator->validate($object);
     if (!empty($errors)) {
         throw new \Magento\Framework\Exception\LocalizedException(__("Cannot save track:\n%1", implode("\n", $errors)));
     }
     return $this;
 }