Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ReportOrderPlacedTest.php
Go to the documentation of this file.
1 <?php
7 
9 
13 class ReportOrderPlacedTest extends \PHPUnit\Framework\TestCase
14 {
18  protected $model;
19 
23  protected $config;
24 
28  protected $ordersFactory;
29 
33  protected $ordersModel;
34 
40  protected function setUp()
41  {
42  $this->config = $this->getMockBuilder(\Magento\NewRelicReporting\Model\Config::class)
43  ->disableOriginalConstructor()
44  ->setMethods(['isNewRelicEnabled'])
45  ->getMock();
46  $this->ordersFactory = $this->getMockBuilder(\Magento\NewRelicReporting\Model\OrdersFactory::class)
47  ->disableOriginalConstructor()
48  ->setMethods(['create'])
49  ->getMock();
50  $this->ordersModel = $this->getMockBuilder(\Magento\NewRelicReporting\Model\Orders::class)
51  ->disableOriginalConstructor()
52  ->getMock();
53  $this->ordersFactory->expects($this->any())
54  ->method('create')
55  ->willReturn($this->ordersModel);
56 
57  $this->model = new ReportOrderPlaced(
58  $this->config,
59  $this->ordersFactory
60  );
61  }
62 
68  public function testReportOrderPlacedModuleDisabledFromConfig()
69  {
71  $eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
72  ->disableOriginalConstructor()
73  ->getMock();
74 
75  $this->config->expects($this->once())
76  ->method('isNewRelicEnabled')
77  ->willReturn(false);
78 
79  $this->model->execute($eventObserver);
80  }
81 
87  public function testReportOrderPlaced()
88  {
89  $testCustomerId = 1;
90  $testTotal = '1.00';
91  $testBaseTotal = '1.00';
92  $testItemCount = null;
93  $testTotalQtyOrderedCount = 1;
94 
96  $eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
97  ->disableOriginalConstructor()
98  ->getMock();
99  $this->config->expects($this->once())
100  ->method('isNewRelicEnabled')
101  ->willReturn(true);
102  $event = $this->getMockBuilder(\Magento\Framework\Event::class)
103  ->setMethods(['getOrder'])
104  ->disableOriginalConstructor()
105  ->getMock();
106  $eventObserver->expects($this->once())
107  ->method('getEvent')
108  ->willReturn($event);
109  $order = $this->getMockBuilder(\Magento\Sales\Model\Order::class)->disableOriginalConstructor()->getMock();
110  $event->expects($this->once())
111  ->method('getOrder')
112  ->willReturn($order);
113  $order->expects($this->once())
114  ->method('getCustomerId')
115  ->willReturn($testCustomerId);
116  $order->expects($this->once())
117  ->method('getGrandTotal')
118  ->willReturn($testTotal);
119  $order->expects($this->once())
120  ->method('getBaseGrandTotal')
121  ->willReturn($testBaseTotal);
122  $order->expects($this->once())
123  ->method('getTotalItemCount')
124  ->willReturn($testItemCount);
125  $order->expects($this->once())
126  ->method('getTotalQtyOrdered')
127  ->willReturn($testTotalQtyOrderedCount);
128  $this->ordersModel->expects($this->once())
129  ->method('setData')
130  ->with(
131  [
132  'customer_id' => $testCustomerId,
133  'total' => $testTotal,
134  'total_base' => $testBaseTotal,
135  'item_count' => $testTotalQtyOrderedCount,
136  ]
137  )
138  ->willReturnSelf();
139  $this->ordersModel->expects($this->once())
140  ->method('save');
141 
142  $this->model->execute($eventObserver);
143  }
144 }
$order
Definition: order.php:55