Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ReportConcurrentAdminsToNewRelicTest.php
Go to the documentation of this file.
1 <?php
7 
9 
13 class ReportConcurrentAdminsToNewRelicTest extends \PHPUnit\Framework\TestCase
14 {
18  protected $model;
19 
23  protected $config;
24 
29 
33  protected $newRelicWrapper;
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->backendAuthSession = $this->getMockBuilder(\Magento\Backend\Model\Auth\Session::class)
47  ->disableOriginalConstructor()
48  ->setMethods(['isLoggedIn', 'getUser'])
49  ->getMock();
50  $this->newRelicWrapper = $this->getMockBuilder(\Magento\NewRelicReporting\Model\NewRelicWrapper::class)
51  ->disableOriginalConstructor()
52  ->setMethods(['addCustomParameter'])
53  ->getMock();
54 
55  $this->model = new ReportConcurrentAdminsToNewRelic(
56  $this->config,
57  $this->backendAuthSession,
58  $this->newRelicWrapper
59  );
60  }
61 
67  public function testReportConcurrentAdminsToNewRelicModuleDisabledFromConfig()
68  {
70  $eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
71  ->disableOriginalConstructor()
72  ->getMock();
73 
74  $this->config->expects($this->once())
75  ->method('isNewRelicEnabled')
76  ->willReturn(false);
77 
78  $this->model->execute($eventObserver);
79  }
80 
86  public function testReportConcurrentAdminsToNewRelicUserIsNotLoggedIn()
87  {
89  $eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
90  ->disableOriginalConstructor()
91  ->getMock();
92 
93  $this->config->expects($this->once())
94  ->method('isNewRelicEnabled')
95  ->willReturn(true);
96  $this->backendAuthSession->expects($this->once())
97  ->method('isLoggedIn')
98  ->willReturn(false);
99 
100  $this->model->execute($eventObserver);
101  }
102 
108  public function testReportConcurrentAdminsToNewRelic()
109  {
111  $eventObserver = $this->getMockBuilder(\Magento\Framework\Event\Observer::class)
112  ->disableOriginalConstructor()
113  ->getMock();
114 
115  $this->config->expects($this->once())
116  ->method('isNewRelicEnabled')
117  ->willReturn(true);
118  $this->backendAuthSession->expects($this->once())
119  ->method('isLoggedIn')
120  ->willReturn(true);
121  $userMock = $this->getMockBuilder(\Magento\User\Model\User::class)->disableOriginalConstructor()->getMock();
122  $this->backendAuthSession->expects($this->once())
123  ->method('getUser')
124  ->willReturn($userMock);
125  $this->newRelicWrapper->expects($this->exactly(3))
126  ->method('addCustomParameter')
127  ->willReturn(true);
128 
129  $this->model->execute($eventObserver);
130  }
131 }