15 private $componentRegistrar;
30 private $serializerMock;
34 $this->componentRegistrar = $this->createMock(\
Magento\Framework\Component\ComponentRegistrar::class);
35 $this->reader = $this->createMock(\
Magento\Framework\Module\
Dir\Reader::class);
36 $this->componentRegistrar->expects($this->once())
38 ->will($this->returnValue([
'A' =>
'A',
'B' =>
'B',
'C' =>
'C',
'D' =>
'D',
'E' =>
'E']));
41 'A/composer.json' =>
'{"name":"a", "require":{"b":"0.1"}, "conflict":{"c":"0.1"}, "version":"0.1"}',
42 'B/composer.json' =>
'{"name":"b", "require":{"d":"0.3"}, "version":"0.2"}',
43 'C/composer.json' =>
'{"name":"c", "require":{"e":"0.1"}, "version":"0.1"}',
44 'D/composer.json' =>
'{"name":"d", "conflict":{"c":"0.1"}, "version":"0.3"}',
45 'E/composer.json' =>
'{"name":"e", "version":"0.4"}',
47 $fileIteratorMock = $this->createMock(\
Magento\Framework\
Config\FileIterator::class);
48 $fileIteratorMock->expects($this->once())
51 $this->reader->expects($this->once())
52 ->method(
'getComposerJsonFiles')
53 ->will($this->returnValue($fileIteratorMock));
55 $this->serializerMock = $this->getMockBuilder(\
Magento\Framework\
Serialize\Serializer\Json::class)
58 $this->serializerMock->expects($this->any())
59 ->method(
'unserialize')
61 function ($serializedData) {
62 return json_decode($serializedData,
true);
67 $this->componentRegistrar,
74 $this->assertEquals(
'A', $this->packageInfo->getModuleName(
'a'));
75 $this->assertEquals(
'B', $this->packageInfo->getModuleName(
'b'));
76 $this->assertEquals(
'C', $this->packageInfo->getModuleName(
'c'));
77 $this->assertEquals(
'D', $this->packageInfo->getModuleName(
'd'));
78 $this->assertEquals(
'E', $this->packageInfo->getModuleName(
'e'));
80 'Magento_TestModuleName',
81 $this->packageInfo->getModuleName(
'magento/module-test-module-name')
83 $this->assertArrayHasKey(
'Magento_TestModuleName', $this->packageInfo->getNonExistingDependencies());
88 $this->assertEquals(
'a', $this->packageInfo->getPackageName(
'A'));
89 $this->assertEquals(
'b', $this->packageInfo->getPackageName(
'B'));
90 $this->assertEquals(
'c', $this->packageInfo->getPackageName(
'C'));
91 $this->assertEquals(
'd', $this->packageInfo->getPackageName(
'D'));
92 $this->assertEquals(
'e', $this->packageInfo->getPackageName(
'E'));
97 $this->assertEquals([
'B'], $this->packageInfo->getRequire(
'A'));
98 $this->assertEquals([
'D'], $this->packageInfo->getRequire(
'B'));
99 $this->assertEquals([
'E'], $this->packageInfo->getRequire(
'C'));
100 $this->assertEquals([], $this->packageInfo->getRequire(
'D'));
101 $this->assertEquals([], $this->packageInfo->getRequire(
'E'));
106 $this->assertEquals([
'C' =>
'0.1'], $this->packageInfo->getConflict(
'A'));
107 $this->assertEquals([], $this->packageInfo->getConflict(
'B'));
108 $this->assertEquals([], $this->packageInfo->getConflict(
'C'));
109 $this->assertEquals([
'C' =>
'0.1'], $this->packageInfo->getConflict(
'D'));
110 $this->assertEquals([], $this->packageInfo->getConflict(
'E'));
115 $this->assertEquals(
'0.1', $this->packageInfo->getVersion(
'A'));
116 $this->assertEquals(
'0.2', $this->packageInfo->getVersion(
'B'));
117 $this->assertEquals(
'0.1', $this->packageInfo->getVersion(
'C'));
118 $this->assertEquals(
'0.3', $this->packageInfo->getVersion(
'D'));
119 $this->assertEquals(
'0.4', $this->packageInfo->getVersion(
'E'));
120 $this->assertEquals(
'', $this->packageInfo->getVersion(
'F'));
125 $this->assertEquals([
'A'], $this->packageInfo->getRequiredBy(
'b'));
if(!file_exists($composerFile)) $composerData
testGetConflictReturnModuleName()
testGetRequireReturnModuleName()