Skip to content

Commit f3a02c3

Browse files
authored
MQE-843: Nested Assertion syntax does not support entity resolution
- nested assertions now trim in the correct order, and replace as expected. - simple bugfix for sortOrder in assertArrayIsSorted.
1 parent 4ec6362 commit f3a02c3

File tree

5 files changed

+11
-4
lines changed

5 files changed

+11
-4
lines changed

dev/tests/verification/Resources/AssertTest.txt

+1
Original file line numberDiff line numberDiff line change
@@ -154,5 +154,6 @@ class AssertTestCest
154154
$I->assertElementContainsAttribute(".admin__menu-overlay", "border", "0");
155155
$I->assertElementContainsAttribute("#username", "value", $createData2->getCreatedDataByName('firstname'));
156156
$I->assertElementContainsAttribute("#username", "value", $this->createData1->getCreatedDataByName('firstname'));
157+
$I->assertEquals("John", "Doe", "pass");
157158
}
158159
}

dev/tests/verification/TestModule/Test/AssertTest.xml

+6
Original file line numberDiff line numberDiff line change
@@ -283,5 +283,11 @@
283283
<assertElementContainsAttribute stepKey="assertElementContainsAttribute8" selector="#username" attribute="value">
284284
<expectedResult type="const">$$createData1.firstname$$</expectedResult>
285285
</assertElementContainsAttribute>
286+
287+
<!-- assert entity resolution -->
288+
<assertEquals stepKey="assertEqualsEntity" message="pass">
289+
<expectedResult type="string">{{simpleData.firstname}}</expectedResult>
290+
<actualResult type="string">{{simpleData.lastname}}</actualResult>
291+
</assertEquals>
286292
</test>
287293
</tests>

src/Magento/FunctionalTestingFramework/Module/MagentoAssert.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public function assertArrayIsSorted(array $data, $sortOrder = "asc")
3636
$data = array_map('strtolower', $data);
3737
}
3838

39-
if ($sortOrder = "asc") {
39+
if ($sortOrder == "asc") {
4040
for ($i = 1; $i < $elementTotal; $i++) {
4141
// $i >= $i-1
4242
$this->assertLessThanOrEqual($data[$i], $data[$i-1], $message);

src/Magento/FunctionalTestingFramework/Test/Objects/ActionObject.php

+3-2
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ public function setTimeout($timeout)
226226
public function resolveReferences()
227227
{
228228
if (empty($this->resolvedCustomAttributes)) {
229+
$this->trimAssertionAttributes();
229230
$this->resolveSelectorReferenceAndTimeout();
230231
$this->resolveUrlReference();
231232
$this->resolveDataInputReferences();
@@ -270,9 +271,9 @@ public function trimAssertionAttributes()
270271
foreach ($this->actionAttributes as $key => $subAttributes) {
271272
if (in_array($key, $relevantKeys)) {
272273
$prefix = ActionObject::ASSERTION_ATTRIBUTES[$key];
273-
$this->resolvedCustomAttributes[$prefix . ucfirst(ActionObject::ASSERTION_TYPE_ATTRIBUTE)] =
274+
$this->actionAttributes[$prefix . ucfirst(ActionObject::ASSERTION_TYPE_ATTRIBUTE)] =
274275
$subAttributes[ActionObject::ASSERTION_TYPE_ATTRIBUTE];
275-
$this->resolvedCustomAttributes[$prefix] =
276+
$this->actionAttributes[$prefix] =
276277
$subAttributes[ActionObject::ASSERTION_VALUE_ATTRIBUTE];
277278
unset($this->actionAttributes[$key]);
278279
}

src/Magento/FunctionalTestingFramework/Test/Util/ActionMergeUtil.php

-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ private function sortActions($parsedSteps)
166166
{
167167
foreach ($parsedSteps as $parsedStep) {
168168
$parsedStep->resolveReferences();
169-
$parsedStep->trimAssertionAttributes();
170169
if ($parsedStep->getLinkedAction()) {
171170
$this->stepsToMerge[$parsedStep->getStepKey()] = $parsedStep;
172171
} else {

0 commit comments

Comments
 (0)