Skip to content

Commit 9bc59f8

Browse files
authored
Merge pull request #533 from magento/MQE-1911
MQE-1911: --allow-skipped removing test hooks
2 parents e7d383e + 8f94324 commit 9bc59f8

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use AspectMock\Test as AspectMock;
1010

1111
use Magento\FunctionalTestingFramework\Test\Objects\ActionObject;
12+
use Magento\FunctionalTestingFramework\Test\Objects\TestHookObject;
1213
use Magento\FunctionalTestingFramework\Test\Objects\TestObject;
1314
use Magento\FunctionalTestingFramework\Util\MagentoTestCase;
1415
use Magento\FunctionalTestingFramework\Util\TestGenerator;
@@ -76,14 +77,26 @@ public function testAllowSkipped()
7677
$actionObject = new ActionObject('fakeAction', 'comment', [
7778
'userInput' => $actionInput
7879
]);
80+
$beforeActionInput = 'beforeInput';
81+
$beforeActionObject = new ActionObject('beforeAction', 'comment', [
82+
'userInput' => $beforeActionInput
83+
]);
7984

8085
$annotations = ['skip' => ['issue']];
81-
$testObject = new TestObject("sampleTest", ["merge123" => $actionObject], $annotations, [], "filename");
86+
$beforeHook = new TestHookObject("before", "sampleTest", ['beforeAction' => $beforeActionObject]);
87+
$testObject = new TestObject(
88+
"sampleTest",
89+
["fakeAction" => $actionObject],
90+
$annotations,
91+
["before" => $beforeHook],
92+
"filename"
93+
);
8294

8395
$testGeneratorObject = TestGenerator::getInstance("", ["sampleTest" => $testObject]);
8496
$output = $testGeneratorObject->assembleTestPhp($testObject);
8597

8698
$this->assertNotContains('This test is skipped', $output);
8799
$this->assertContains($actionInput, $output);
100+
$this->assertContains($beforeActionInput, $output);
88101
}
89102
}

src/Magento/FunctionalTestingFramework/Util/TestGenerator.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ public function assembleTestPhp($testObject)
242242

243243
$className = $testObject->getCodeceptionName();
244244
try {
245-
if (!$testObject->isSkipped() && !MftfApplicationConfig::getConfig()->allowSkipped()) {
245+
if (!$testObject->isSkipped() || MftfApplicationConfig::getConfig()->allowSkipped()) {
246246
$hookPhp = $this->generateHooksPhp($testObject->getHooks());
247247
} else {
248248
$hookPhp = null;
@@ -1601,7 +1601,13 @@ private function generateTestPhp($test)
16011601
$testName = str_replace(' ', '', $testName);
16021602
$testAnnotations = $this->generateAnnotationsPhp($test->getAnnotations(), true);
16031603
$dependencies = 'AcceptanceTester $I';
1604-
if ($test->isSkipped() && !MftfApplicationConfig::getConfig()->allowSkipped()) {
1604+
if (!$test->isSkipped() || MftfApplicationConfig::getConfig()->allowSkipped()) {
1605+
try {
1606+
$steps = $this->generateStepsPhp($test->getOrderedActions());
1607+
} catch (\Exception $e) {
1608+
throw new TestReferenceException($e->getMessage() . " in Test \"" . $test->getName() . "\"");
1609+
}
1610+
} else {
16051611
$skipString = "This test is skipped due to the following issues:\\n";
16061612
$issues = $test->getAnnotations()['skip'] ?? null;
16071613
if (isset($issues)) {
@@ -1611,12 +1617,6 @@ private function generateTestPhp($test)
16111617
}
16121618
$steps = "\t\t" . '$scenario->skip("' . $skipString . '");' . "\n";
16131619
$dependencies .= ', \Codeception\Scenario $scenario';
1614-
} else {
1615-
try {
1616-
$steps = $this->generateStepsPhp($test->getOrderedActions());
1617-
} catch (\Exception $e) {
1618-
throw new TestReferenceException($e->getMessage() . " in Test \"" . $test->getName() . "\"");
1619-
}
16201620
}
16211621

16221622
$testPhp .= $testAnnotations;

0 commit comments

Comments
 (0)