Skip to content

Commit 25a32bd

Browse files
committed
MQE-1043: MFTF force flag should ignore the magento base url even when valid
- Unit test updates to maintain coverage.
1 parent 49490de commit 25a32bd

File tree

1 file changed

+51
-7
lines changed

1 file changed

+51
-7
lines changed

dev/tests/unit/Magento/FunctionalTestFramework/Util/ModuleResolverTest.php

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,10 @@ public function testGetModulePathsAlreadySet()
5656
*/
5757
public function testGetModulePathsAggregate()
5858
{
59-
$this->setMockResolverClass(false, null, null, null, ["example" . DIRECTORY_SEPARATOR . "paths"]);
59+
$this->mockForceGenerate(false);
60+
$this->setMockResolverClass(false, null, null, null, ["example" => "example" . DIRECTORY_SEPARATOR . "paths"]);
6061
$resolver = ModuleResolver::getInstance();
61-
$this->setMockResolverProperties($resolver, null, null);
62+
$this->setMockResolverProperties($resolver, null, [0 => "Magento_example"]);
6263
$this->assertEquals(
6364
[
6465
"example" . DIRECTORY_SEPARATOR . "paths",
@@ -75,12 +76,13 @@ public function testGetModulePathsAggregate()
7576
*/
7677
public function testGetModulePathsLocations()
7778
{
79+
$this->mockForceGenerate(false);
7880
$mockResolver = $this->setMockResolverClass(
79-
false,
80-
null,
81+
true,
82+
[0 => "magento_example"],
8183
null,
8284
null,
83-
["example" . DIRECTORY_SEPARATOR . "paths"]
85+
["example" => "example" . DIRECTORY_SEPARATOR . "paths"]
8486
);
8587
$resolver = ModuleResolver::getInstance();
8688
$this->setMockResolverProperties($resolver, null, null);
@@ -205,6 +207,43 @@ public function testGetAdminTokenNotCalledWhenForce()
205207
$this->addToAssertionCount(1);
206208
}
207209

210+
/**
211+
* Verify the getAdminToken method returns throws an exception if ENV is not fully loaded.
212+
*/
213+
public function testGetAdminTokenWithMissingEnv()
214+
{
215+
// Set --force to true
216+
$this->mockForceGenerate(false);
217+
218+
// Unset env
219+
unset($_ENV['MAGENTO_ADMIN_USERNAME']);
220+
221+
// Mock ModuleResolver and applyCustomModuleMethods()
222+
$mockResolver = $this->setMockResolverClass();
223+
$resolver = ModuleResolver::getInstance();
224+
225+
// Expect exception
226+
$this->expectException(TestFrameworkException::class);
227+
$resolver->getModulesPath();
228+
}
229+
230+
/**
231+
* Verify the getAdminToken method returns throws an exception if Token was bad.
232+
*/
233+
public function testGetAdminTokenWithBadResponse()
234+
{
235+
// Set --force to true
236+
$this->mockForceGenerate(false);
237+
238+
// Mock ModuleResolver and applyCustomModuleMethods()
239+
$mockResolver = $this->setMockResolverClass();
240+
$resolver = ModuleResolver::getInstance();
241+
242+
// Expect exception
243+
$this->expectException(TestFrameworkException::class);
244+
$resolver->getModulesPath();
245+
}
246+
208247
/**
209248
* Function used to set mock for parser return and force init method to run between tests.
210249
*
@@ -233,7 +272,7 @@ private function setMockResolverClass(
233272
if (isset($mockToken)) {
234273
$mockMethods['getAdminToken'] = $mockToken;
235274
}
236-
if (isset($mockModules)) {
275+
if (isset($mockGetModules)) {
237276
$mockMethods['getEnabledModules'] = $mockGetModules;
238277
}
239278
if (isset($mockCustomMethods)) {
@@ -248,7 +287,7 @@ private function setMockResolverClass(
248287
if (isset($mockCustomModules)) {
249288
$mockMethods['getCustomModulePaths'] = $mockCustomModules;
250289
}
251-
$mockMethods['printMagentoVersionInfo'] = null;
290+
// $mockMethods['printMagentoVersionInfo'] = null;
252291

253292
$mockResolver = AspectMock::double(
254293
ModuleResolver::class,
@@ -313,6 +352,11 @@ private function mockForceGenerate($forceGenerate)
313352
*/
314353
protected function tearDown()
315354
{
355+
// re set env
356+
if (!isset($_ENV['MAGENTO_ADMIN_USERNAME'])) {
357+
$_ENV['MAGENTO_ADMIN_USERNAME'] = "admin";
358+
}
359+
316360
AspectMock::clean();
317361
}
318362
}

0 commit comments

Comments
 (0)