Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ProductManagementTest.php
Go to the documentation of this file.
1 <?php
7 
8 class ProductManagementTest extends \PHPUnit\Framework\TestCase
9 {
13  protected $model;
14 
19 
20  protected function setUp()
21  {
22  $this->productsFactoryMock = $this->createPartialMock(
23  \Magento\Catalog\Model\ResourceModel\Product\CollectionFactory::class,
24  ['create']
25  );
26  $this->model = new \Magento\Catalog\Model\ProductManagement(
27  $this->productsFactoryMock
28  );
29  }
30 
31  public function testGetEnabledCount()
32  {
33  $statusEnabled = 1;
34  $productsMock = $this->createMock(\Magento\Catalog\Model\ResourceModel\Product\Collection::class);
35 
36  $this->productsFactoryMock
37  ->expects($this->once())
38  ->method('create')
39  ->willReturn($productsMock);
40  $productsMock
41  ->expects($this->once())
42  ->method('addAttributeToFilter')
43  ->with('status', $statusEnabled)
44  ->willReturnSelf();
45  $productsMock
46  ->expects($this->once())
47  ->method('getSize')
48  ->willReturn('expected');
49 
50  $this->assertEquals(
51  'expected',
52  $this->model->getCount($statusEnabled)
53  );
54  }
55 
56  public function testGetDisabledCount()
57  {
58  $statusDisabled = 2;
59  $productsMock = $this->createMock(\Magento\Catalog\Model\ResourceModel\Product\Collection::class);
60 
61  $this->productsFactoryMock
62  ->expects($this->once())
63  ->method('create')
64  ->willReturn($productsMock);
65  $productsMock
66  ->expects($this->once())
67  ->method('addAttributeToFilter')
68  ->with('status', $statusDisabled)
69  ->willReturnSelf();
70  $productsMock
71  ->expects($this->once())
72  ->method('getSize')
73  ->willReturn('expected');
74 
75  $this->assertEquals(
76  'expected',
77  $this->model->getCount($statusDisabled)
78  );
79  }
80 }