Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ApplicationCodeGeneratorTest.php
Go to the documentation of this file.
1 <?php
8 
12 
13 class ApplicationCodeGeneratorTest extends \PHPUnit\Framework\TestCase
14 {
18  private $directoryScannerMock;
19 
23  private $phpScannerMock;
24 
28  private $classesScannerMock;
29 
30  protected function setUp()
31  {
32  $this->directoryScannerMock = $this->getMockBuilder(
33  \Magento\Setup\Module\Di\Code\Scanner\DirectoryScanner::class
34  )->disableOriginalConstructor()
35  ->getMock();
36  $this->phpScannerMock = $this->getMockBuilder(\Magento\Setup\Module\Di\Code\Scanner\PhpScanner::class)
37  ->disableOriginalConstructor()
38  ->getMock();
39  $this->classesScannerMock = $this->getMockBuilder(\Magento\Setup\Module\Di\Code\Reader\ClassesScanner::class)
40  ->disableOriginalConstructor()
41  ->getMock();
42  }
43 
50  {
52  $this->classesScannerMock,
53  $this->phpScannerMock,
54  $this->directoryScannerMock,
55  $data
56  );
57 
58  $this->classesScannerMock->expects($this->never())
59  ->method('getList');
60  $this->directoryScannerMock->expects($this->never())
61  ->method('scan');
62  $this->phpScannerMock->expects($this->never())
63  ->method('collectEntities');
64 
65  $this->assertEmpty($model->doOperation());
66  }
67 
72  {
73  return [
74  [[]],
75  [['filePatterns' => ['php' => '*.php']]],
76  [['path' => 'path']],
77  ];
78  }
79 
80  public function testDoOperation()
81  {
82  $data = [
83  'paths' => ['path/to/app'],
84  'filePatterns' => ['php' => '.php'],
85  'excludePatterns' => ['/\/Test\//']
86  ];
87  $files = ['php' => []];
89  $this->classesScannerMock,
90  $this->phpScannerMock,
91  $this->directoryScannerMock,
92  $data
93  );
94 
95  $this->classesScannerMock->expects($this->once())
96  ->method('getList')
97  ->with($data['paths'][0]);
98  $this->directoryScannerMock->expects($this->once())
99  ->method('scan')
100  ->with(
101  $data['paths'][0],
102  $data['filePatterns'],
103  $data['excludePatterns']
104  )->willReturn($files);
105  $this->phpScannerMock->expects($this->once())
106  ->method('collectEntities')
107  ->with($files['php'])
108  ->willReturn([]);
109 
110  $this->assertEmpty($model->doOperation());
111  }
112 }
foreach($appDirs as $dir) $files