Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
LoggerProxyTest.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Framework\DB\Logger\FileFactory;
10 use Magento\Framework\DB\Logger\QuietFactory;
15 
16 class LoggerProxyTest extends \PHPUnit\Framework\TestCase
17 {
21  private $loggerProxy;
22 
26  private $objectManager;
27 
31  public function setUp()
32  {
33  $this->objectManager = new ObjectManager($this);
34  }
35 
39  public function testNewWithAliasFile()
40  {
41  $fileLoggerMock = $this->getMockBuilder(File::class)
42  ->disableOriginalConstructor()
43  ->getMock();
44 
45  $fileLoggerMock->expects($this->once())
46  ->method('log');
47 
48  $fileLoggerFactoryMock = $this->getMockBuilder(FileFactory::class)
49  ->disableOriginalConstructor()
50  ->setMethods(['create'])
51  ->getMock();
52 
53  $fileLoggerFactoryMock->expects($this->once())
54  ->method('create')
55  ->willReturn($fileLoggerMock);
56 
57  $quietLoggerMock = $this->getMockBuilder(Quiet::class)
58  ->disableOriginalConstructor()
59  ->getMock();
60 
61  $quietLoggerMock->expects($this->never())
62  ->method('log');
63 
64  $quietLoggerFactoryMock = $this->getMockBuilder(QuietFactory::class)
65  ->disableOriginalConstructor()
66  ->setMethods(['create'])
67  ->getMock();
68 
69  $this->loggerProxy = $this->objectManager->getObject(
70  LoggerProxy::class,
71  [
72  'fileFactory' => $fileLoggerFactoryMock,
73  'quietFactory' => $quietLoggerFactoryMock,
74  'loggerAlias' => LoggerProxy::LOGGER_ALIAS_FILE,
75  ]
76  );
77 
78  $this->loggerProxy->log('test');
79  }
80 
84  public function testNewWithAliasDisabled()
85  {
86  $fileLoggerMock = $this->getMockBuilder(File::class)
87  ->disableOriginalConstructor()
88  ->getMock();
89 
90  $fileLoggerMock->expects($this->never())
91  ->method('log');
92 
93  $fileLoggerFactoryMock = $this->getMockBuilder(FileFactory::class)
94  ->disableOriginalConstructor()
95  ->setMethods(['create'])
96  ->getMock();
97 
98  $quietLoggerMock = $this->getMockBuilder(Quiet::class)
99  ->disableOriginalConstructor()
100  ->getMock();
101 
102  $quietLoggerMock->expects($this->once())
103  ->method('log');
104 
105  $quietLoggerFactoryMock = $this->getMockBuilder(QuietFactory::class)
106  ->disableOriginalConstructor()
107  ->setMethods(['create'])
108  ->getMock();
109 
110  $quietLoggerFactoryMock->expects($this->once())
111  ->method('create')
112  ->willReturn($quietLoggerMock);
113 
114  $this->loggerProxy = $this->objectManager->getObject(
115  LoggerProxy::class,
116  [
117  'fileFactory' => $fileLoggerFactoryMock,
118  'quietFactory' => $quietLoggerFactoryMock,
119  'loggerAlias' => LoggerProxy::LOGGER_ALIAS_DISABLED,
120  ]
121  );
122 
123  $this->loggerProxy->log('test');
124  }
125 }