Skip to content

Commit 4c6c9bc

Browse files
authored
ACQE-4318 | Add default test in membership.text file
1 parent 5254b53 commit 4c6c9bc

File tree

1 file changed

+32
-12
lines changed

1 file changed

+32
-12
lines changed

src/Magento/FunctionalTestingFramework/Suite/SuiteGenerator.php

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ public static function getInstance(): SuiteGenerator
9595
*/
9696
public function generateAllSuites($testManifest)
9797
{
98+
$this->generateTestgroupmembership($testManifest);
9899
$suites = $testManifest->getSuiteConfig();
99100

100101
foreach ($suites as $suiteName => $suiteContent) {
@@ -142,24 +143,44 @@ public function generateSuite($suiteName)
142143
/**
143144
* Function which generate Testgroupmembership file.
144145
*
145-
* @param string $suiteName
146-
* @param array $tests
146+
* @param $testManifest
147147
* @return void
148148
* @throws \Exception
149149
*/
150-
public function generateTestgroupmembership($suiteName, $tests)
150+
public function generateTestgroupmembership($testManifest)
151151
{
152152
$memberShipFilePath = FilePathFormatter::format(TESTS_MODULE_PATH).'_generated/testgroupmembership.txt';
153-
static $suiteCount = 0;
154-
foreach ($tests as $key => $testName) {
155-
try {
156-
$suiteTests = $suiteCount.":".$key.":".$suiteName.':'.$testName."\n";
157-
file_put_contents($memberShipFilePath, $suiteTests, FILE_APPEND);
158-
} catch (FastFailException $e) {
159-
throw $e;
160-
}
153+
154+
$testManifestArray = (array) $testManifest;
155+
$prefix = chr(0).'*'.chr(0);
156+
$defaultSuiteTests = $testManifestArray[$prefix.'testNameToSize'];
157+
158+
$suiteCount = 0;
159+
$testCount = 0;
160+
foreach ($defaultSuiteTests as $defaultSuiteTestName => $defaultTestValue) {
161+
$defaultSuiteTestName = rtrim($defaultSuiteTestName, 'Cest');
162+
$defaultSuiteTest = sprintf('%s:%s:%s\n', $suiteCount, 0, $defaultSuiteTestName);
163+
file_put_contents($memberShipFilePath, $defaultSuiteTest, FILE_APPEND);
164+
$testCount++;
161165
}
166+
162167
$suiteCount++;
168+
$suites = $testManifest->getSuiteConfig();
169+
foreach ($suites as $suite => $tests) {
170+
foreach ($tests as $key => $test) {
171+
if(!is_numeric($key)) {
172+
foreach ($test as $testKey => $testName) {
173+
$suiteTest = sprintf('%s:%s:%s:%s\n', $suiteCount, $testKey, $key, $testName);
174+
file_put_contents($memberShipFilePath, $suiteTest, FILE_APPEND);
175+
$suiteCount++;
176+
}
177+
} else {
178+
$suiteTest = sprintf('%s:%s:%s:%s\n', $suiteCount, $key, $suite, $test);
179+
file_put_contents($memberShipFilePath, $suiteTest, FILE_APPEND);
180+
}
181+
}
182+
$suiteCount++;
183+
}
163184
}
164185

165186
/**
@@ -186,7 +207,6 @@ private function generateSuiteFromTest($suiteName, $tests = [], $originalSuiteNa
186207
$relevantTests = [];
187208
if (!empty($tests)) {
188209
$this->validateTestsReferencedInSuite($suiteName, $tests, $originalSuiteName);
189-
$this->generateTestgroupmembership($suiteName, $tests);
190210
foreach ($tests as $testName) {
191211
try {
192212
$relevantTests[$testName] = TestObjectHandler::getInstance()->getObject($testName);

0 commit comments

Comments
 (0)