Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AddInventoryDataObserverTest.php
Go to the documentation of this file.
1 <?php
7 
9 
10 class AddInventoryDataObserverTest extends \PHPUnit\Framework\TestCase
11 {
15  protected $observer;
16 
20  protected $stockHelper;
21 
25  protected $event;
26 
30  protected $eventObserver;
31 
32  protected function setUp()
33  {
34  $this->stockHelper = $this->createMock(\Magento\CatalogInventory\Helper\Stock::class);
35 
36  $this->event = $this->getMockBuilder(\Magento\Framework\Event::class)
37  ->disableOriginalConstructor()
38  ->setMethods(['getProduct'])
39  ->getMock();
40 
41  $this->eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
42  ->disableOriginalConstructor()
43  ->setMethods(['getEvent'])
44  ->getMock();
45 
46  $this->eventObserver->expects($this->atLeastOnce())
47  ->method('getEvent')
48  ->will($this->returnValue($this->event));
49 
50  $this->observer = (new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this))->getObject(
51  \Magento\CatalogInventory\Observer\AddInventoryDataObserver::class,
52  [
53  'stockHelper' => $this->stockHelper,
54  ]
55  );
56  }
57 
58  public function testAddInventoryData()
59  {
60  $product = $this->getMockBuilder(\Magento\Catalog\Model\Product::class)
61  ->disableOriginalConstructor()
62  ->getMock();
63 
64  $this->event->expects($this->once())
65  ->method('getProduct')
66  ->will($this->returnValue($product));
67 
68  $this->stockHelper->expects($this->once())
69  ->method('assignStatusToProduct')
70  ->with($product)
71  ->will($this->returnSelf());
72 
73  $this->observer->execute($this->eventObserver);
74  }
75 }