Skip to content

Commit b4ecb1f

Browse files
committed
MQE-235: added codeception Asserts module functions in framework.
1 parent 6ee4265 commit b4ecb1f

File tree

8 files changed

+776
-8
lines changed

8 files changed

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

dev/tests/verification/Resources/PersistedReplacementCest.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,5 +67,15 @@ class PersistedReplacementCest
6767
$I->click("#" . $uniqueData->getCreatedDataByName('firstname'));
6868
$I->dragAndDrop($uniqueData->getCreatedDataByName('firstname'), $uniqueData->getCreatedDataByName('firstname'));
6969
$I->dragAndDrop("#element ." . $uniqueData->getCreatedDataByName('firstname'), "#" . $uniqueData->getCreatedDataByName('firstname') . " .success");
70+
$I->assertStringStartsNotWith("D", $this->createData1->getCreatedDataByName('lastname') . ", " . $this->createData1->getCreatedDataByName('firstname'), "fail");
71+
$I->assertStringStartsWith("W", $uniqueData->getCreatedDataByName('firstname') . " " . $uniqueData->getCreatedDataByName('lastname'), "pass");
72+
$I->assertEquals($this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('lastname'), "pass");
73+
$I->assertFileExists("../Data/SampleData.xml", "pass");
74+
$I->assertArraySubset([$this->createData1->getCreatedDataByName('lastname') . "", "" . $this->createData1->getCreatedDataByName('firstname')], [$this->createData1->getCreatedDataByName('lastname') . "", "" . $this->createData1->getCreatedDataByName('firstname') . "", "1"], "pass");
75+
$I->assertArraySubset([$uniqueData->getCreatedDataByName('firstname') . "", "" . $uniqueData->getCreatedDataByName('lastname')], [$uniqueData->getCreatedDataByName('firstname') . "", "" . $uniqueData->getCreatedDataByName('lastname') . "", "1"], "pass");
76+
$I->assertArrayHasKey("lastname", ['lastname' => $this->createData1->getCreatedDataByName('lastname') . "", 'firstname' => "" . $this->createData1->getCreatedDataByName('firstname')], "pass");
77+
$I->assertArrayHasKey("lastname", ['lastname' => $uniqueData->getCreatedDataByName('lastname') . "", 'firstname' => "" . $uniqueData->getCreatedDataByName('firstname')], "pass");
78+
$I->fail($uniqueData->getCreatedDataByName('firstname') . " " . $uniqueData->getCreatedDataByName('lastname'));
79+
$I->fail($this->createData1->getCreatedDataByName('firstname') . " " . $this->createData1->getCreatedDataByName('lastname'));
7080
}
7181
}

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,22 @@
6161
<!-- selector1/2 replacement -->
6262
<dragAndDrop selector1="$uniqueData.firstname$" selector2="$uniqueData.firstname$" mergeKey="j1"/>
6363
<dragAndDrop selector1="{{SampleSection.oneParamElement($uniqueData.firstname$)}}" selector2="{{SampleSection.twoParamElement($uniqueData.firstname$,'success')}}" mergeKey="j2"/>
64+
65+
<!-- expected, actual replacements -->
66+
<assertStringStartsNotWith mergeKey="assert1" expected="D" actual="$$createData1.lastname$$, $$createData1.firstname$$" message="fail"/>
67+
<assertStringStartsWith mergeKey="assert2" expected="W" actual="$uniqueData.firstname$ $uniqueData.lastname$" message="pass"/>
68+
<assertEquals mergeKey="assert5" expected="$$createData1.lastname$$" actual="$$createData1.lastname$$" message="pass"/>
69+
<assertFileExists mergeKey="assert6" actual="../Data/SampleData.xml" message="pass"/>
6470

71+
<!-- expectedArray, actualArray replacements -->
72+
<assertArraySubset mergeKey="assert9" expectedArray="[$$createData1.lastname$$, $$createData1.firstname$$]" actualArray="[$$createData1.lastname$$, $$createData1.firstname$$, 1]" message="pass"/>
73+
<assertArraySubset mergeKey="assert10" expectedArray="[$uniqueData.firstname$, $uniqueData.lastname$]" actualArray="[$uniqueData.firstname$, $uniqueData.lastname$, 1]" message="pass"/>
74+
<assertArrayHasKey mergeKey="assert3" expected="lastname" actualArray="[['lastname' => $$createData1.lastname$$], ['firstname' => $$createData1.firstname$$]" message="pass"/>
75+
<assertArrayHasKey mergeKey="assert4" expected="lastname" actualArray="[['lastname' => $uniqueData.lastname$], ['firstname' => $uniqueData.firstname$]" message="pass"/>
76+
77+
<!-- message replacements -->
78+
<fail mergeKey="assert7" message="$uniqueData.firstname$ $uniqueData.lastname$"/>
79+
<fail mergeKey="assert8" message="$$createData1.firstname$$ $$createData1.lastname$$"/>
6580
</test>
6681
</cest>
6782
</config>

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>

0 commit comments

Comments
 (0)