15 private $classesScanner;
20 private $classReaderMock;
30 private $validatorMock;
43 ->disableOriginalConstructor()
48 ->disableOriginalConstructor()
49 ->setMethods([
'getList'])
52 $this->classReaderMock = $this->getMockBuilder(\
Magento\Framework\Code\
Reader\ClassReader::class)
53 ->disableOriginalConstructor()
54 ->setMethods([
'getParents'])
57 $this->validatorMock = $this->getMockBuilder(\
Magento\Framework\Code\Validator::class)
58 ->disableOriginalConstructor()
59 ->setMethods([
'validate'])
62 $this->model = new \Magento\Setup\Module\Di\Code\Reader\Decorator\Directory(
64 $this->classReaderMock,
65 $this->classesScanner,
75 $classes = [
'NameSpace1\ClassName1',
'NameSpace1\ClassName2'];
77 $this->classesScanner->expects($this->once())
80 ->willReturn($classes);
83 [
'NameSpace1\ClassName1', [
'Parent_Class_Name',
'Interface_1',
'Interface_2']],
84 [
'NameSpace1\ClassName2', [
'Parent_Class_Name',
'Interface_1',
'Interface_2']]
87 $this->classReaderMock->expects($this->exactly(count($classes)))
88 ->method(
'getParents')
89 ->will($this->returnValueMap(
93 $this->logMock->expects($this->never())
96 $this->validatorMock->expects($this->exactly(count($classes)))
99 $this->model->getList(
$path);
100 $result = $this->model->getRelations();
103 $classes[0] => $parents[0][1],
104 $classes[1] => $parents[1][1]
107 $this->assertEquals(
$result, $expected);
112 $path =
'/generated/code';
114 $classes = [
'NameSpace1\ClassName1',
'NameSpace1\ClassName2'];
116 $this->classesScanner->expects($this->once())
119 ->willReturn($classes);
122 [
'NameSpace1\ClassName1', [
'Parent_Class_Name',
'Interface_1',
'Interface_2']],
123 [
'NameSpace1\ClassName2', [
'Parent_Class_Name',
'Interface_1',
'Interface_2']]
126 $this->classReaderMock->expects($this->exactly(count($classes)))
127 ->method(
'getParents')
128 ->will($this->returnValueMap(
132 $this->logMock->expects($this->never())
135 $this->validatorMock->expects($this->never())
136 ->method(
'validate');
138 $this->model->getList(
$path);
139 $result = $this->model->getRelations();
142 $classes[0] => $parents[0][1],
143 $classes[1] => $parents[1][1]
146 $this->assertEquals(
$result, $expected);
158 $classes = [
'NameSpace1\ClassName1'];
160 $this->classesScanner->expects($this->once())
163 ->willReturn($classes);
165 $this->logMock->expects($this->once())
169 $this->validatorMock->expects($this->exactly(count($classes)))
172 $this->throwException($exception)
175 $this->model->getList(
$path);
177 $result = $this->model->getRelations();
179 $this->assertEquals(
$result, []);
190 [new \Magento\Framework\Exception\ValidatorException(
new \
Magento\Framework\
Phrase(
'Not Valid!'))],
191 [new \ReflectionException(
'Not Valid!')]
testGetListNoValidation()
getListExceptionDataProvider()
testGetListException(\Exception $exception)