Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CollectDataTest.php
Go to the documentation of this file.
1 <?php
7 
12 
13 class CollectDataTest extends \PHPUnit\Framework\TestCase
14 {
18  private $exportDataHandlerMock;
19 
23  private $subscriptionStatusMock;
24 
28  private $objectManagerHelper;
29 
33  private $collectData;
34 
38  protected function setUp()
39  {
40  $this->exportDataHandlerMock = $this->getMockBuilder(ExportDataHandlerInterface::class)
41  ->getMockForAbstractClass();
42 
43  $this->subscriptionStatusMock = $this->getMockBuilder(SubscriptionStatusProvider::class)
44  ->disableOriginalConstructor()
45  ->getMock();
46 
47  $this->objectManagerHelper = new ObjectManagerHelper($this);
48 
49  $this->collectData = $this->objectManagerHelper->getObject(
50  CollectData::class,
51  [
52  'exportDataHandler' => $this->exportDataHandlerMock,
53  'subscriptionStatus' => $this->subscriptionStatusMock,
54  ]
55  );
56  }
57 
63  public function testExecute($status)
64  {
65  $this->subscriptionStatusMock
66  ->expects($this->once())
67  ->method('getStatus')
68  ->with()
69  ->willReturn($status);
70  $this->exportDataHandlerMock
71  ->expects(($status === SubscriptionStatusProvider::ENABLED) ? $this->once() : $this->never())
72  ->method('prepareExportData')
73  ->with();
74 
75  $this->assertTrue($this->collectData->execute());
76  }
77 
81  public function executeDataProvider()
82  {
83  return [
84  'Subscription is enabled' => [SubscriptionStatusProvider::ENABLED],
85  'Subscription is disabled' => [SubscriptionStatusProvider::DISABLED],
86  ];
87  }
88 }
$status
Definition: order_status.php:8