Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SkuProcessorTest.php
Go to the documentation of this file.
1 <?php
7 
9 
10 class SkuProcessorTest extends \PHPUnit\Framework\TestCase
11 {
15  protected $productFactory;
16 
20  protected $skuProcessor;
21 
22  protected function setUp()
23  {
24  $this->productFactory = $this->createMock(\Magento\Catalog\Model\ProductFactory::class);
25  $this->skuProcessor = $this->getMockBuilder(
26  \Magento\CatalogImportExport\Model\Import\Product\SkuProcessor::class
27  )
28  ->setMethods(['_getSkus'])
29  ->setConstructorArgs([$this->productFactory])
30  ->getMock();
31  }
32 
33  public function testReloadOldSkus()
34  {
35  $skuValue = 'value';
36 
37  $this->skuProcessor
38  ->expects($this->once())
39  ->method('_getSkus')
40  ->willReturn($skuValue);
41 
42  $this->skuProcessor->reloadOldSkus();
43  $oldSkus = $this->getPropertyValue($this->skuProcessor, 'oldSkus');
44 
45  $this->assertEquals($skuValue, $oldSkus);
46  }
47 
48  public function testGetOldSkusIfNotSet()
49  {
50  $expectedOldSkus = 'value';
51  $this->setPropertyValue($this->skuProcessor, 'oldSkus', null);
52  $this->skuProcessor
53  ->expects($this->once())
54  ->method('_getSkus')
55  ->willReturn($expectedOldSkus);
56 
57  $result = $this->skuProcessor->getOldSkus();
58 
59  $this->assertEquals($expectedOldSkus, $result);
60  }
61 
62  public function testGetOldSkusIfSet()
63  {
64  $expectedOldSkus = 'value';
65  $this->setPropertyValue($this->skuProcessor, 'oldSkus', 'value');
66  $this->skuProcessor
67  ->expects($this->never())
68  ->method('_getSkus');
69 
70  $result = $this->skuProcessor->getOldSkus();
71 
72  $this->assertEquals($expectedOldSkus, $result);
73  }
74 
82  protected function setPropertyValue(&$object, $property, $value)
83  {
84  $reflection = new \ReflectionClass(get_class($object));
85  $reflectionProperty = $reflection->getProperty($property);
86  $reflectionProperty->setAccessible(true);
87  $reflectionProperty->setValue($object, $value);
88 
89  return $object;
90  }
91 
98  protected function getPropertyValue(&$object, $property)
99  {
100  $reflection = new \ReflectionClass(get_class($object));
101  $reflectionProperty = $reflection->getProperty($property);
102  $reflectionProperty->setAccessible(true);
103 
104  return $reflectionProperty->getValue($object);
105  }
106 }
$value
Definition: gender.phtml:16