Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ReportSystemCacheFlushToNewRelicTest.php
Go to the documentation of this file.
1 <?php
7 
9 
13 class ReportSystemCacheFlushToNewRelicTest extends \PHPUnit\Framework\TestCase
14 {
18  protected $model;
19 
23  protected $config;
24 
29 
34 
38  protected $deploymentsModel;
39 
45  protected function setUp()
46  {
47  $this->config = $this->getMockBuilder(\Magento\NewRelicReporting\Model\Config::class)
48  ->disableOriginalConstructor()
49  ->setMethods(['isNewRelicEnabled'])
50  ->getMock();
51  $this->backendAuthSession = $this->getMockBuilder(\Magento\Backend\Model\Auth\Session::class)
52  ->disableOriginalConstructor()
53  ->setMethods(['getUser'])
54  ->getMock();
55  $this->deploymentsFactory = $this->getMockBuilder(
56  \Magento\NewRelicReporting\Model\Apm\DeploymentsFactory::class
57  )->disableOriginalConstructor()
58  ->setMethods(['create'])
59  ->getMock();
60  $this->deploymentsModel = $this->getMockBuilder(\Magento\NewRelicReporting\Model\Apm\Deployments::class)
61  ->disableOriginalConstructor()
62  ->setMethods(['setDeployment'])
63  ->getMock();
64  $this->deploymentsFactory->expects($this->any())
65  ->method('create')
66  ->willReturn($this->deploymentsModel);
67 
68  $this->model = new ReportSystemCacheFlushToNewRelic(
69  $this->config,
70  $this->backendAuthSession,
71  $this->deploymentsFactory
72  );
73  }
74 
80  public function testReportSystemCacheFlushToNewRelicModuleDisabledFromConfig()
81  {
83  $eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
84  ->disableOriginalConstructor()
85  ->getMock();
86 
87  $this->config->expects($this->once())
88  ->method('isNewRelicEnabled')
89  ->willReturn(false);
90 
91  $this->model->execute($eventObserver);
92  }
93 
99  public function testReportSystemCacheFlushToNewRelic()
100  {
102  $eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
103  ->disableOriginalConstructor()
104  ->getMock();
105 
106  $this->config->expects($this->once())
107  ->method('isNewRelicEnabled')
108  ->willReturn(true);
109  $userMock = $this->getMockBuilder(\Magento\User\Model\User::class)->disableOriginalConstructor()->getMock();
110  $this->backendAuthSession->expects($this->once())
111  ->method('getUser')
112  ->willReturn($userMock);
113  $userMock->expects($this->once())
114  ->method('getId')
115  ->willReturn('2');
116  $this->deploymentsFactory->expects($this->once())
117  ->method('create')
118  ->willReturn($this->deploymentsModel);
119  $this->deploymentsModel->expects($this->once())
120  ->method('setDeployment')
121  ->willReturnSelf();
122 
123  $this->model->execute($eventObserver);
124  }
125 }