22 private $objectManagerHelper;
32 private $filesystemMock;
37 private $fileIteratorFactoryMock;
42 private $componentRegistrarMock;
51 $this->readerMock = $this->getMockBuilder(\
Magento\Framework\Module\Dir\Reader::class)
52 ->disableOriginalConstructor()
54 $this->filesystemMock = $this->getMockBuilder(\
Magento\Framework\Filesystem::class)
55 ->disableOriginalConstructor()
57 $this->fileIteratorFactoryMock = $this->getMockBuilder(\
Magento\Framework\
Config\FileIteratorFactory::class)
58 ->disableOriginalConstructor()
60 $this->componentRegistrarMock = $this->getMockBuilder(\
Magento\Framework\Component\ComponentRegistrar::class)
61 ->disableOriginalConstructor()
63 $this->fileDriver = $this->getMockBuilder(\
Magento\Framework\
Filesystem\Driver\File::class)
64 ->disableOriginalConstructor()
66 $this->objectManagerHelper =
new ObjectManagerHelper($this);
67 $this->model = $this->objectManagerHelper->getObject(
70 'moduleReader' => $this->readerMock,
71 'filesystem' => $this->filesystemMock,
72 'iteratorFactory' => $this->fileIteratorFactoryMock,
73 'componentRegistrar' => $this->componentRegistrarMock,
74 'driver' => $this->fileDriver
81 $iterator = $this->getMockBuilder(FileIterator::class)
82 ->disableOriginalConstructor()
87 'some_path' =>
'<xml>Some Content</xml>' 89 $primaryIterator = $this->getMockBuilder(FileIterator::class)
90 ->disableOriginalConstructor()
92 $primaryIterator->expects(self::once())
95 '/www/app/etc/db_schema.xml' =>
'<xml>Primary Content</xml>' 97 $directoryMock = $this->getMockBuilder(\
Magento\Framework\
Filesystem\Directory\ReadInterface::class)
98 ->disableOriginalConstructor()
100 $directoryMock->expects(self::once())
102 ->with(
'{db_schema.xml,*/db_schema.xml}')
103 ->willReturn([
'app/etc/db_schema.xml']);
104 $directoryMock->expects(self::once())
105 ->method(
'getAbsolutePath')
106 ->willReturn(
'/www/app/etc/db_schema.xml');
107 $this->readerMock->expects(self::once())
108 ->method(
'getConfigurationFiles')
110 $this->fileIteratorFactoryMock->expects(self::once())
112 ->with([
'/www/app/etc/db_schema.xml'])
113 ->willReturn($primaryIterator);
114 $this->fileDriver->expects(self::once())
116 ->with(
'/www/app/etc/db_schema.xml')
118 $this->filesystemMock->expects(self::once())
119 ->method(
'getDirectoryRead')
120 ->willReturn($directoryMock);
122 $this->model->get(
'db_schema.xml',
'all'),
124 'some_path' =>
'<xml>Some Content</xml>',
125 '/www/app/etc/db_schema.xml' =>
'<xml>Primary Content</xml>' 135 $iterator = $this->getMockBuilder(FileIterator::class)
136 ->disableOriginalConstructor()
141 'some_path' =>
'<xml>Some Content</xml>' 143 $primaryIterator = $this->getMockBuilder(FileIterator::class)
144 ->disableOriginalConstructor()
146 $primaryIterator->expects(self::once())
149 '/www/app/etc/db_schema.xml' =>
'<xml>Primary Content</xml>' 151 $directoryMock = $this->getMockBuilder(\
Magento\Framework\
Filesystem\Directory\ReadInterface::class)
152 ->disableOriginalConstructor()
154 $directoryMock->expects(self::once())
156 ->with(
'{db_schema.xml,*/db_schema.xml}')
157 ->willReturn([
'app/etc/db_schema.xml']);
158 $directoryMock->expects(self::once())
159 ->method(
'getAbsolutePath')
160 ->willReturn(
'/www/app/etc/db_schema.xml');
161 $this->readerMock->expects(self::once())
162 ->method(
'getConfigurationFiles')
164 $this->fileIteratorFactoryMock->expects(self::once())
166 ->with([
'/www/app/etc/db_schema.xml'])
167 ->willReturn($primaryIterator);
168 $this->fileDriver->expects(self::once())
170 ->with(
'/www/app/etc/db_schema.xml')
172 $this->filesystemMock->expects(self::once())
173 ->method(
'getDirectoryRead')
174 ->willReturn($directoryMock);
175 $this->model->get(
'db_schema.xml',
'all');
180 $iterator = $this->getMockBuilder(FileIterator::class)
181 ->disableOriginalConstructor()
186 'some_path/etc/db_schema.xml' =>
'<xml>Some Content</xml>' 188 $primaryIterator = $this->getMockBuilder(FileIterator::class)
189 ->disableOriginalConstructor()
191 $primaryIterator->expects(self::once())
194 '/www/app/etc/db_schema.xml' =>
'<xml>Primary Content</xml>' 196 $directoryMock = $this->getMockBuilder(\
Magento\Framework\
Filesystem\Directory\ReadInterface::class)
197 ->disableOriginalConstructor()
199 $directoryMock->expects(self::once())
201 ->with(
'{db_schema.xml,*/db_schema.xml}')
202 ->willReturn([
'app/etc/db_schema.xml']);
203 $directoryMock->expects(self::once())
204 ->method(
'getAbsolutePath')
205 ->willReturn(
'/www/app/etc/db_schema.xml');
206 $this->readerMock->expects(self::once())
207 ->method(
'getConfigurationFiles')
209 $this->fileIteratorFactoryMock->expects(self::once())
211 ->with([
'/www/app/etc/db_schema.xml'])
212 ->willReturn($primaryIterator);
213 $this->fileDriver->expects(self::once())
215 ->with(
'/www/app/etc/db_schema.xml')
217 $this->filesystemMock->expects(self::once())
218 ->method(
'getDirectoryRead')
219 ->willReturn($directoryMock);
220 $this->componentRegistrarMock->expects(self::once())
222 ->with(
'module',
'Magento_Some')
223 ->willReturn(
'some_path');
226 'some_path/etc/db_schema.xml' =>
'<xml>Some Content</xml>',
227 '/www/app/etc/db_schema.xml' =>
'<xml>Primary Content</xml>' 229 $this->model->get(
'db_schema.xml',
'Magento_Some')