Skip to content

Commit f1b1644

Browse files
committed
Merge remote-tracking branch 'origin/MQE-275-Data-Field-Uniqueness' into MQE-275-Data-Field-Uniqueness-new
# Conflicts: # src/Magento/AcceptanceTestFramework/DataGenerator/DataGeneratorConstants.php # src/Magento/AcceptanceTestFramework/DataGenerator/Managers/DataManager.php # src/Magento/AcceptanceTestFramework/DataGenerator/Objects/EntityDataObject.php # src/Magento/AcceptanceTestFramework/Test/Objects/ActionObject.php # src/Magento/AcceptanceTestFramework/Util/TestGenerator.php
2 parents dcb512e + bba6a43 commit f1b1644

File tree

4 files changed

+67
-2
lines changed

4 files changed

+67
-2
lines changed

src/Magento/AcceptanceTestFramework/DataGenerator/etc/dataProfileSchema.xsd

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@
7272
</xs:documentation>
7373
</xs:annotation>
7474
</xs:attribute>
75+
<xs:attribute type="uniquenessEnumType" name="unique" use="optional">
76+
<xs:annotation>
77+
<xs:documentation>
78+
Add suite or test wide unique sequence as "prefix" or "suffix" to the data value if specified.
79+
</xs:documentation>
80+
</xs:annotation>
81+
</xs:attribute>
7582
</xs:extension>
7683
</xs:simpleContent>
7784
</xs:complexType>
@@ -103,4 +110,11 @@
103110
</xs:simpleContent>
104111
</xs:complexType>
105112

113+
<xs:simpleType name="uniquenessEnumType">
114+
<xs:restriction base="xs:string">
115+
<xs:enumeration value="prefix" />
116+
<xs:enumeration value="suffix" />
117+
</xs:restriction>
118+
</xs:simpleType>
119+
106120
</xs:schema>

src/Magento/AcceptanceTestFramework/Module/MagentoRestDriver.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
namespace Magento\AcceptanceTestFramework\Module;
33

44
use Codeception\Module\REST;
5-
use Codeception\Module\Sequence;
5+
use Magento\AcceptanceTestFramework\Module\MagentoSequence;
66
use Flow\JSONPath;
77

88
/**
@@ -108,7 +108,7 @@ public function _beforeSuite($settings = [])
108108
$this->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
109109
$this->haveHttpHeader('Authorization', 'Bearer ' . $token);
110110
self::$adminTokens[$this->config['username']] = $token;
111-
$this->getModule('Sequence')->_initialize();
111+
$this->getModule('\Magento\AcceptanceTestFramework\Module\MagentoSequence')->_initialize();
112112
}
113113

114114
/**
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
namespace Magento\AcceptanceTestFramework\Module;
3+
4+
use Codeception\Module\Sequence;
5+
use Codeception\Exception\ModuleException;
6+
7+
/**
8+
* MagentoSequence module.
9+
*/
10+
class MagentoSequence extends Sequence
11+
{
12+
protected $config = ['prefix' => ''];
13+
}
14+
15+
if (!function_exists('msq') && !function_exists('msqs')) {
16+
require_once __DIR__ . '/../Util/msq.php';
17+
} else {
18+
throw new ModuleException('Magento\AcceptanceTestFramework\Module\MagentoSequence', "function 'msq' and 'msqs' already defined");
19+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?php
2+
use Magento\AcceptanceTestFramework\Module\MagentoSequence;
3+
4+
if (!function_exists('msq')) {
5+
function msq($id = null)
6+
{
7+
if ($id and isset(MagentoSequence::$hash[$id])) {
8+
return MagentoSequence::$hash[$id];
9+
}
10+
$prefix = MagentoSequence::$prefix;
11+
$sequence = $prefix . uniqid($id);
12+
if ($id) {
13+
MagentoSequence::$hash[$id] = $sequence;
14+
}
15+
return $sequence;
16+
}
17+
}
18+
19+
if (!function_exists('msqs')) {
20+
function msqs($id = null)
21+
{
22+
if ($id and isset(MagentoSequence::$suiteHash[$id])) {
23+
return MagentoSequence::$suiteHash[$id];
24+
}
25+
$prefix = MagentoSequence::$prefix;
26+
$sequence = $prefix . uniqid($id);
27+
if ($id) {
28+
MagentoSequence::$suiteHash[$id] = $sequence;
29+
}
30+
return $sequence;
31+
}
32+
}

0 commit comments

Comments
 (0)