Skip to content

Commit 356db16

Browse files
committed
Merge branch 'MQE-235' into sprint-develop
# Conflicts: # dev/tests/verification/Resources/PersistedReplacementCest.txt # dev/tests/verification/TestModule/Cest/PersistedReplacementCest.xml # etc/di.xml
2 parents 2e966be + b4ecb1f commit 356db16

File tree

8 files changed

+778
-8
lines changed

8 files changed

+778
-8
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"keywords": ["magento", "automation", "functional", "testing"],
66
"require": {
77
"php": "~7.0",
8-
"codeception/codeception": "2.2|2.3",
8+
"codeception/codeception": "~2.3.4",
99
"flow/jsonpath": ">0.2",
1010
"fzaninotto/faker": "^1.6",
1111
"mustache/mustache": "~2.5",

dev/tests/verification/Resources/BasicFunctionalCest.txt

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,5 +129,49 @@ class BasicFunctionalCest
129129
$I->waitForElementVisible(".functionalTestSelector", 30);
130130
$I->waitForJS("someJsFunction", 30);
131131
$I->waitForText("someInput", 30, ".functionalTestSelector");
132+
$I->assertArrayHasKey("apple", ['orange' => "2", 'apple' => "1"], "pass");
133+
$I->assertArrayNotHasKey("kiwi", ['orange' => "2", 'apple' => "1"], "pass");
134+
$I->assertArraySubset(["1", "2"], ["5", "3", "2", "1"], "pass");
135+
$I->assertContains("ab", ['item1' => 'a', 'item2' => 'ab'], "pass");
136+
$I->assertCount("2", ['a', 'b'], "pass");
137+
$I->assertEmpty("''", "pass");
138+
$I->assertEmpty("[]", "pass");
139+
$I->assertEmpty($value1, "pass");
140+
$I->assertEquals("abc", "abc", "pass");
141+
$I->assertEquals("2", $value1, "pass");
142+
$I->assertFalse($value1, "pass");
143+
$I->assertFileExists("/out.txt", "pass");
144+
$I->assertFileExists($value1, "pass");
145+
$I->assertFileNotExists("/out.txt", "pass");
146+
$I->assertFileNotExists("file", "pass");
147+
$I->assertGreaterOrEquals("5", "2", "pass");
148+
$I->assertGreaterThan("5", "2", "pass");
149+
$I->assertGreaterThanOrEqual("5", "2", "pass");
150+
$I->assertInstanceOf(User::class, $value1, "pass");
151+
$I->assertInternalType("string", "xyz", "pass");
152+
$I->assertInternalType("xyz", "pass");
153+
$I->assertInternalType($value1, "pass");
154+
$I->assertIsEmpty($value1, "pass");
155+
$I->assertLessOrEquals("2", "5", "pass");
156+
$I->assertLessThan("2", "5", "pass");
157+
$I->assertLessThanOrEqual("2", "5", "pass");
158+
$I->assertNotContains("bc", ['item1' => 'a', 'item2' => 'ab'], "pass");
159+
$I->assertNotContains("bc", "pass");
160+
$I->assertNotEmpty("[1, 2]", "pass");
161+
$I->assertNotEmpty($value1, "pass");
162+
$I->assertNotEquals("2", "5", "pass");
163+
$I->assertNotInstanceOf("21", "pass");
164+
$I->assertNotNull("abc", "pass");
165+
$I->assertNotNull($value1, "pass");
166+
$I->assertNotRegExp("/foo/", "bar", "pass");
167+
$I->assertNotSame("log", "tag", "pass");
168+
$I->assertNull($value1, "pass");
169+
$I->assertRegExp("/foo/", "foo", "pass");
170+
$I->assertSame("bar", "bar", "pass");
171+
$I->assertStringStartsNotWith("a", "banana", "pass");
172+
$I->assertStringStartsWith("a", "apple", "pass");
173+
$I->assertTrue("true", "pass");
174+
$I->expectException(new MyException('exception msg'), function() {$this->doSomethingBad();});
175+
$I->fail("fail");
132176
}
133177
}

dev/tests/verification/Resources/PersistedReplacementCest.txt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ class PersistedReplacementCest
4343
$simpleData = DataObjectHandler::getInstance()->getObject("simpleData");
4444
$createdData = new DataPersistenceHandler($simpleData);
4545
$createdData->createEntity();
46+
$I->amGoingTo("create entity that has the mergeKey: uniqueData");
47+
$UniquePerson = DataObjectHandler::getInstance()->getObject("UniquePerson");
48+
$uniqueData = new DataPersistenceHandler($UniquePerson);
49+
$uniqueData->createEntity();
4650
$I->fillField("#selector", "StringBefore " . $createdData->getCreatedDataByName('firstname') . " StringAfter");
4751
$I->fillField("#" . $createdData->getCreatedDataByName('firstname'), "input");
4852
$I->dragAndDrop("#" . $createdData->getCreatedDataByName('firstname'), $createdData->getCreatedDataByName('lastname'));
@@ -51,5 +55,15 @@ class PersistedReplacementCest
5155
$I->searchAndMultiSelectOption("#selector", [$createdData->getCreatedDataByName('firstname'), $createdData->getCreatedDataByName('lastname')]);
5256
$I->fillField("#selector", "John " . $createdData->getCreatedDataByName('firstname') . " stringLiteral");
5357
$I->searchAndMultiSelectOption("#selector", [$createdData->getCreatedDataByName('firstname'), "John", "stringLiteral"]);
58+
$I->assertStringStartsWith("W", $uniqueData->getCreatedDataByName('firstname') . " " . $uniqueData->getCreatedDataByName('lastname'), "pass");
59+
$I->assertEquals($this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('lastname'), "pass");
60+
$I->assertFileExists("../Data/SampleData.xml", "pass");
61+
$I->assertArraySubset([$this->createData1->getCreatedDataByName('lastname') . "", "" . $this->createData1->getCreatedDataByName('firstname')], [$this->createData1->getCreatedDataByName('lastname') . "", "" . $this->createData1->getCreatedDataByName('firstname') . "", "1"], "pass");
62+
$I->assertArraySubset([$uniqueData->getCreatedDataByName('firstname') . "", "" . $uniqueData->getCreatedDataByName('lastname')], [$uniqueData->getCreatedDataByName('firstname') . "", "" . $uniqueData->getCreatedDataByName('lastname') . "", "1"], "pass");
63+
$I->assertArrayHasKey("lastname", ['lastname' => $this->createData1->getCreatedDataByName('lastname') . "", 'firstname' => "" . $this->createData1->getCreatedDataByName('firstname')], "pass");
64+
$I->assertArrayHasKey("lastname", ['lastname' => $uniqueData->getCreatedDataByName('lastname') . "", 'firstname' => "" . $uniqueData->getCreatedDataByName('firstname')], "pass");
65+
$I->fail($uniqueData->getCreatedDataByName('firstname') . " " . $uniqueData->getCreatedDataByName('lastname'));
66+
$I->fail($this->createData1->getCreatedDataByName('firstname') . " " . $this->createData1->getCreatedDataByName('lastname'));
67+
$I->assertStringStartsNotWith("D", $this->createData1->getCreatedDataByName('lastname') . ", " . $this->createData1->getCreatedDataByName('firstname'), "fail");
5468
}
5569
}

dev/tests/verification/TestModule/Cest/BasicFunctionalCest.xml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,51 @@
113113
<waitForElementVisible selector=".functionalTestSelector" time="30" mergeKey="waitForElementVisibleKey1" />
114114
<waitForJS function="someJsFunction" time="30" mergeKey="waitForJSKey1" />
115115
<waitForText selector=".functionalTestSelector" userInput="someInput" time="30" mergeKey=""/>
116+
<!-- Assert actions -->
117+
<assertArrayHasKey mergeKey="assertArrayHasKey" expected="apple" actualArray="[['orange' => 2], ['apple' => 1]" message="pass"/>
118+
<assertArrayNotHasKey mergeKey="assertArrayNotHasKey" expected="kiwi" actualArray="[['orange' => 2], ['apple' => 1]" message="pass"/>
119+
<assertArraySubset mergeKey="assertArraySubset" expectedArray="[1, 2]" actualArray="[5, 3, 2, 1]" message="pass"/>
120+
<assertContains mergeKey="assertContains" expected="ab" actualArray="[['item1' => 'a'], ['item2' => 'ab']" message="pass"/>
121+
<assertCount mergeKey="assertCount" expected="2" actualArray="['a', 'b']" message="pass"/>
122+
<assertEmpty mergeKey="assertEmpty1" actual="''" message="pass"/>
123+
<assertEmpty mergeKey="assertEmpty2" actual="[]" message="pass"/>
124+
<assertEmpty mergeKey="assertEmpty3" actualVariable="value1" message="pass"/>
125+
<assertEquals mergeKey="assertEquals1" expected="abc" actual="abc" message="pass"/>
126+
<assertEquals mergeKey="assertEquals2" expected="2" actualVariable="value1" message="pass"/>
127+
<assertFalse mergeKey="assertFalse" actualVariable="value1" message="pass"/>
128+
<assertFileExists mergeKey="assertFileExists1" actual="/out.txt" message="pass"/>
129+
<assertFileExists mergeKey="assertFileExists2" actualVariable="value1" message="pass"/>
130+
<assertFileNotExists mergeKey="assertFileNotExists1" actual="/out.txt" message="pass"/>
131+
<assertFileNotExists mergeKey="assertFileNotExists2" actual="file" message="pass"/>
132+
<assertGreaterOrEquals mergeKey="assertGreaterOrEquals" expected="5" actual="2" message="pass"/>
133+
<assertGreaterThan mergeKey="assertGreaterThan" expected="5" actual="2" message="pass"/>
134+
<assertGreaterThanOrEqual mergeKey="assertGreaterThanOrEqual" expected="5" actual="2" message="pass"/>
135+
<assertInstanceOf mergeKey="assertInstanceOf" class="User::class" actualVariable="value1" message="pass"/>
136+
<assertInternalType mergeKey="assertInternalType1" expected="string" actual="xyz" message="pass"/>
137+
<assertInternalType mergeKey="assertInternalType2" type="string" actual="xyz" message="pass"/>
138+
<assertInternalType mergeKey="assertInternalType3" type="string" actualVariable="value1" message="pass"/>
139+
<assertIsEmpty mergeKey="assertIsEmpty" actualVariable="value1" message="pass"/>
140+
<assertLessOrEquals mergeKey="assertLessOrEquals" expected="2" actual="5" message="pass"/>
141+
<assertLessThan mergeKey="assertLessThan" expected="2" actual="5" message="pass"/>
142+
<assertLessThanOrEqual mergeKey="assertLessThanOrEqual" expected="2" actual="5" message="pass"/>
143+
<assertNotContains mergeKey="assertNotContains1" expected="bc" actualArray="[['item1' => 'a'], ['item2' => 'ab']" message="pass"/>
144+
<assertNotContains mergeKey="assertNotContains2" expected="bc" actualVariable="value1" message="pass"/>
145+
<assertNotEmpty mergeKey="assertNotEmpty1" actual="[1, 2]" message="pass"/>
146+
<assertNotEmpty mergeKey="assertNotEmpty2" actualVariable="value1" message="pass"/>
147+
<assertNotEquals mergeKey="assertNotEquals" expected="2" actual="5" message="pass" delta=""/>
148+
<assertNotInstanceOf mergeKey="assertNotInstanceOf" expected="RuntimeException::class" actual="21" message="pass"/>
149+
<assertNotNull mergeKey="assertNotNull1" actual="abc" message="pass"/>
150+
<assertNotNull mergeKey="assertNotNull2" actualVariable="value1" message="pass"/>
151+
<assertNotRegExp mergeKey="assertNotRegExp" expected="/foo/" actual="bar" message="pass"/>
152+
<assertNotSame mergeKey="assertNotSame" expected="log" actual="tag" message="pass"/>
153+
<assertNull mergeKey="assertNull" actualVariable="value1" message="pass"/>
154+
<assertRegExp mergeKey="assertRegExp" expected="/foo/" actual="foo" message="pass"/>
155+
<assertSame mergeKey="assertSame" expected="bar" actual="bar" message="pass"/>
156+
<assertStringStartsNotWith mergeKey="assertStringStartsNotWith" expected="a" actual="banana" message="pass"/>
157+
<assertStringStartsWith mergeKey="assertStringStartsWith" expected="a" actual="apple" message="pass"/>
158+
<assertTrue mergeKey="assertTrue" actual="true" message="pass"/>
159+
<expectException mergeKey="expectException" class="new MyException('exception msg')" function="function() {$this->doSomethingBad();}"/>
160+
<fail mergeKey="fail" message="fail"/>
116161
</test>
117162
</cest>
118163
</config>

dev/tests/verification/TestModule/Cest/PersistedReplacementCest.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
</before>
1515
<test name="PersistedReplacementTest">
1616
<createData entity="simpleData" mergeKey="createdData"/>
17+
<createData entity="UniquePerson" mergeKey="uniqueData"/>
1718

1819
<fillField mergeKey="inputReplace" selector="#selector" userInput="StringBefore $createdData.firstname$ StringAfter"/>
1920
<fillField mergeKey="selectorReplace" selector="#$createdData.firstname$" userInput="input"/>
@@ -23,6 +24,19 @@
2324
<searchAndMultiSelectOption mergeKey="parameterArrayReplacement" selector="#selector" parameterArray="[$createdData.firstname$, $createdData.lastname$]"/>
2425
<fillField mergeKey="allTypesMixed" selector="#selector" userInput="{{simpleData.firstname}} $createdData.firstname$ stringLiteral"/>
2526
<searchAndMultiSelectOption mergeKey="parameterArrayMixed" selector="#selector" parameterArray="[$createdData.firstname$, {{simpleData.firstname}}, stringLiteral]"/>
27+
<!-- expected, actual replacements -->
28+
<assertStringStartsNotWith mergeKey="assert1" expected="D" actual="$$createData1.lastname$$, $$createData1.firstname$$" message="fail"/>
29+
<assertStringStartsWith mergeKey="assert2" expected="W" actual="$uniqueData.firstname$ $uniqueData.lastname$" message="pass"/>
30+
<assertEquals mergeKey="assert5" expected="$$createData1.lastname$$" actual="$$createData1.lastname$$" message="pass"/>
31+
<assertFileExists mergeKey="assert6" actual="../Data/SampleData.xml" message="pass"/>
32+
<!-- expectedArray, actualArray replacements -->
33+
<assertArraySubset mergeKey="assert9" expectedArray="[$$createData1.lastname$$, $$createData1.firstname$$]" actualArray="[$$createData1.lastname$$, $$createData1.firstname$$, 1]" message="pass"/>
34+
<assertArraySubset mergeKey="assert10" expectedArray="[$uniqueData.firstname$, $uniqueData.lastname$]" actualArray="[$uniqueData.firstname$, $uniqueData.lastname$, 1]" message="pass"/>
35+
<assertArrayHasKey mergeKey="assert3" expected="lastname" actualArray="[['lastname' => $$createData1.lastname$$], ['firstname' => $$createData1.firstname$$]" message="pass"/>
36+
<assertArrayHasKey mergeKey="assert4" expected="lastname" actualArray="[['lastname' => $uniqueData.lastname$], ['firstname' => $uniqueData.firstname$]" message="pass"/>
37+
<!-- message replacements -->
38+
<fail mergeKey="assert7" message="$uniqueData.firstname$ $uniqueData.lastname$"/>
39+
<fail mergeKey="assert8" message="$$createData1.firstname$$ $$createData1.lastname$$"/>
2640
</test>
2741
</cest>
2842
</config>

0 commit comments

Comments
 (0)