1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Module\Test\Unit;
use Magento\Framework\Component\ComponentRegistrar;
class DirTest extends \PHPUnit\Framework\TestCase
{
/**
* @var \Magento\Framework\Module\Dir
*/
protected $_model;
/**
* @var \Magento\Framework\Component\ComponentRegistrarInterface|\PHPUnit_Framework_MockObject_MockObject
*/
protected $moduleRegistryMock;
protected function setUp()
{
$this->moduleRegistryMock = $this->createMock(\Magento\Framework\Component\ComponentRegistrarInterface::class);
$this->_model = new \Magento\Framework\Module\Dir($this->moduleRegistryMock);
}
public function testGetDirModuleRoot()
{
$this->moduleRegistryMock->expects($this->once())
->method('getPath')
->with(ComponentRegistrar::MODULE, 'Test_Module')
->will($this->returnValue('/Test/Module'));
$this->assertEquals('/Test/Module', $this->_model->getDir('Test_Module'));
}
public function testGetDirModuleSubDir()
{
$this->moduleRegistryMock->expects($this->once())
->method('getPath')
->with(ComponentRegistrar::MODULE, 'Test_Module')
->will($this->returnValue('/Test/Module'));
$this->assertEquals('/Test/Module/etc', $this->_model->getDir('Test_Module', 'etc'));
}
public function testGetSetupDirModule()
{
$this->moduleRegistryMock->expects($this->once())
->method('getPath')
->with(ComponentRegistrar::MODULE, 'Test_Module')
->willReturn('/Test/Module');
$this->assertEquals('/Test/Module/Setup', $this->_model->getDir('Test_Module', 'Setup'));
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage Directory type 'unknown' is not recognized
*/
public function testGetDirModuleSubDirUnknown()
{
$this->moduleRegistryMock->expects($this->once())
->method('getPath')
->with(ComponentRegistrar::MODULE, 'Test_Module')
->will($this->returnValue('/Test/Module'));
$this->_model->getDir('Test_Module', 'unknown');
}
/**
* @expectedException \InvalidArgumentException
* @expectedExceptionMessage Module 'Test Module' is not correctly registered.
*/
public function testGetDirModuleIncorrectlyRegistered()
{
$this->moduleRegistryMock->expects($this->once())
->method('getPath')
->with($this->identicalTo(ComponentRegistrar::MODULE), $this->identicalTo('Test Module'))
->willReturn(null);
$this->_model->getDir('Test Module');
}
}