Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ConfigurationScannerTest.php
Go to the documentation of this file.
1 <?php
7 
8 class ConfigurationScannerTest extends \PHPUnit\Framework\TestCase
9 {
13  private $fileResolverMock;
14 
18  private $areaListMock;
19 
23  private $model;
24 
25  protected function setUp()
26  {
27  $this->fileResolverMock = $this->getMockBuilder(\Magento\Framework\App\Config\FileResolver::class)
28  ->disableOriginalConstructor()
29  ->getMock();
30 
31  $this->areaListMock = $this->getMockBuilder(\Magento\Framework\App\AreaList::class)
32  ->disableOriginalConstructor()
33  ->getMock();
34 
35  $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
36  $this->model = $objectManagerHelper->getObject(
37  \Magento\Setup\Module\Di\Code\Scanner\ConfigurationScanner::class,
38  [
39  'fileResolver' => $this->fileResolverMock,
40  'areaList' => $this->areaListMock,
41  ]
42  );
43  }
44 
45  public function testScan()
46  {
47  $codes = ['code1', 'code2'];
48  $iteratorMock = $this->getMockBuilder(\Magento\Framework\Config\FileIterator::class)
49  ->disableOriginalConstructor()
50  ->getMock();
51  $this->areaListMock->expects($this->once())
52  ->method('getCodes')
53  ->willReturn($codes);
54  $counts = count($codes) + 2;
55  $this->fileResolverMock->expects($this->exactly($counts))
56  ->method('get')
57  ->willReturn($iteratorMock);
58  $files = ['file1' => 'onefile', 'file2' => 'anotherfile'];
59  $iteratorMock->expects($this->exactly($counts))
60  ->method('toArray')
61  ->willReturn($files);
62  $this->assertEquals(array_keys($files), $this->model->scan('di.xml'));
63  }
64 }
foreach($appDirs as $dir) $files