Skip to content

Commit 00af5c9

Browse files
committed
MQE-235: added codeception Asserts module functions in framework.
1 parent cef7b0b commit 00af5c9

File tree

9 files changed

+387
-242
lines changed

9 files changed

+387
-242
lines changed
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
<?php
2+
namespace Magento\AcceptanceTest\_generated\Backend;
3+
4+
use Magento\FunctionalTestingFramework\AcceptanceTester;
5+
use Magento\FunctionalTestingFramework\DataGenerator\Handlers\DataObjectHandler;
6+
use Magento\FunctionalTestingFramework\DataGenerator\Persist\DataPersistenceHandler;
7+
use Magento\FunctionalTestingFramework\DataGenerator\Objects\EntityDataObject;
8+
use \Codeception\Util\Locator;
9+
use Yandex\Allure\Adapter\Annotation\Features;
10+
use Yandex\Allure\Adapter\Annotation\Stories;
11+
use Yandex\Allure\Adapter\Annotation\Title;
12+
use Yandex\Allure\Adapter\Annotation\Description;
13+
use Yandex\Allure\Adapter\Annotation\Parameter;
14+
use Yandex\Allure\Adapter\Annotation\Severity;
15+
use Yandex\Allure\Adapter\Model\SeverityLevel;
16+
use Yandex\Allure\Adapter\Annotation\TestCaseId;
17+
18+
/**
19+
*/
20+
class AssertCest
21+
{
22+
/**
23+
* @var DataPersistenceHandler $createData1;
24+
*/
25+
protected $createData1;
26+
27+
public function _before(AcceptanceTester $I)
28+
{
29+
$I->amGoingTo("create entity that has the mergeKey: createData1");
30+
$ReplacementPerson = DataObjectHandler::getInstance()->getObject("ReplacementPerson");
31+
$this->createData1 = new DataPersistenceHandler($ReplacementPerson);
32+
$this->createData1->createEntity();
33+
}
34+
35+
/**
36+
* @Parameter(name = "AcceptanceTester", value="$I")
37+
* @param AcceptanceTester $I
38+
* @return void
39+
*/
40+
public function AssertTest(AcceptanceTester $I)
41+
{
42+
$I->amGoingTo("create entity that has the mergeKey: createData2");
43+
$UniquePerson = DataObjectHandler::getInstance()->getObject("UniquePerson");
44+
$createData2 = new DataPersistenceHandler($UniquePerson);
45+
$createData2->createEntity();
46+
$text = $I->grabTextFrom(".copyright>span");
47+
$I->comment("asserts without variable replacement");
48+
$I->assertArrayHasKey("apple", ['orange' => 2, 'apple' => 1], "pass");
49+
$I->assertArrayNotHasKey("kiwi", ['orange' => 2, 'apple' => 1], "pass");
50+
$I->assertArraySubset([1, 2], [1, 2, 3, 5], "pass");
51+
$I->assertContains("ab", ['item1' => 'a', 'item2' => 'ab'], "pass");
52+
$I->assertCount(2, ['a', 'b'], "pass");
53+
$I->assertEmpty([], "pass");
54+
$I->assertEquals($text, "Copyright © 2013-2017 Magento, Inc. All rights reserved.", "pass");
55+
$I->assertEquals("Copyright © 2013-2017 Magento, Inc. All rights reserved.", $text, "pass");
56+
$I->assertFalse(false, "pass");
57+
$I->assertFileNotExists("/out.txt", "pass");
58+
$I->assertFileNotExists($text, "pass");
59+
$I->assertGreaterOrEquals(2, 5, "pass");
60+
$I->assertGreaterThan(2, 5, "pass");
61+
$I->assertGreaterThanOrEqual(2, 5, "pass");
62+
$I->assertInternalType("string", "xyz", "pass");
63+
$I->assertInternalType("int", 21, "pass");
64+
$I->assertInternalType("string", $text, "pass");
65+
$I->assertLessOrEquals(5, 2, "pass");
66+
$I->assertLessThan(5, 2, "pass");
67+
$I->assertLessThanOrEqual(5, 2, "pass");
68+
$I->assertNotContains("bc", ['item1' => 'a', 'item2' => 'ab'], "pass");
69+
$I->assertNotContains("bc", $text, "pass");
70+
$I->assertNotEmpty([1, 2], "pass");
71+
$I->assertNotEmpty($text, "pass");
72+
$I->assertNotEquals(2, 5, "pass", 0);
73+
$I->assertNotNull("abc", "pass");
74+
$I->assertNotNull($text, "pass");
75+
$I->assertNotRegExp("/foo/", "bar", "pass");
76+
$I->assertNotSame("log", "tag", "pass");
77+
$I->assertRegExp("/foo/", "foo", "pass");
78+
$I->assertSame("bar", "bar", "pass");
79+
$I->assertStringStartsNotWith("a", "banana", "pass");
80+
$I->assertStringStartsWith("a", "apple", "pass");
81+
$I->assertTrue(true, "pass");
82+
$I->comment("string type that use created data");
83+
$I->assertStringStartsWith("D", $this->createData1->getCreatedDataByName('lastname') . ", " . $this->createData1->getCreatedDataByName('firstname'), "fail");
84+
$I->assertStringStartsNotWith("W", $createData2->getCreatedDataByName('firstname') . " " . $createData2->getCreatedDataByName('lastname'), "pass");
85+
$I->assertEquals($this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('lastname'), "pass");
86+
$I->comment("array type that use created data");
87+
$I->assertArraySubset([$this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('firstname')], [$this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('firstname'), "1"], "pass");
88+
$I->assertArraySubset([$createData2->getCreatedDataByName('firstname'), $createData2->getCreatedDataByName('lastname')], [$createData2->getCreatedDataByName('firstname'), $createData2->getCreatedDataByName('lastname'), "1"], "pass");
89+
$I->assertArrayHasKey("lastname", ['lastname' => $this->createData1->getCreatedDataByName('lastname'), 'firstname' => $this->createData1->getCreatedDataByName('firstname')], "pass");
90+
$I->assertArrayHasKey("lastname", ['lastname' => $createData2->getCreatedDataByName('lastname'), 'firstname' => $createData2->getCreatedDataByName('firstname')], "pass");
91+
$I->assertInstanceOf(User::class, $text, "pass");
92+
$I->assertNotInstanceOf(User::class, 21, "pass");
93+
$I->assertFileExists($text, "pass");
94+
$I->assertFileExists("AssertCest.php", "pass");
95+
$I->assertIsEmpty($text, "pass");
96+
$I->assertNull($text, "pass");
97+
$I->expectException(new MyException('exception msg'), function() {$this->doSomethingBad();});
98+
$I->fail("fail");
99+
$I->fail($createData2->getCreatedDataByName('firstname') . " " . $createData2->getCreatedDataByName('lastname'));
100+
$I->fail($this->createData1->getCreatedDataByName('firstname') . " " . $this->createData1->getCreatedDataByName('lastname'));
101+
}
102+
}

dev/tests/verification/Resources/BasicFunctionalCest.txt

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -129,49 +129,5 @@ 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");
176132
}
177133
}

dev/tests/verification/Resources/PersistedReplacementCest.txt

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,6 @@ 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();
5046
$I->fillField("#selector", "StringBefore " . $createdData->getCreatedDataByName('firstname') . " StringAfter");
5147
$I->fillField("#" . $createdData->getCreatedDataByName('firstname'), "input");
5248
$I->dragAndDrop("#" . $createdData->getCreatedDataByName('firstname'), $createdData->getCreatedDataByName('lastname'));
@@ -55,15 +51,5 @@ class PersistedReplacementCest
5551
$I->searchAndMultiSelectOption("#selector", [$createdData->getCreatedDataByName('firstname'), $createdData->getCreatedDataByName('lastname')]);
5652
$I->fillField("#selector", "John " . $createdData->getCreatedDataByName('firstname') . " stringLiteral");
5753
$I->searchAndMultiSelectOption("#selector", [$createdData->getCreatedDataByName('firstname'), "John", "stringLiteral"]);
58-
$I->assertStringStartsNotWith("D", $this->createData1->getCreatedDataByName('lastname') . ", " . $this->createData1->getCreatedDataByName('firstname'), "fail");
59-
$I->assertStringStartsWith("W", $uniqueData->getCreatedDataByName('firstname') . " " . $uniqueData->getCreatedDataByName('lastname'), "pass");
60-
$I->assertEquals($this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('lastname'), "pass");
61-
$I->assertFileExists("../Data/SampleData.xml", "pass");
62-
$I->assertArraySubset([$this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('firstname')], [$this->createData1->getCreatedDataByName('lastname'), $this->createData1->getCreatedDataByName('firstname'), "1"], "pass");
63-
$I->assertArraySubset([$uniqueData->getCreatedDataByName('firstname'), $uniqueData->getCreatedDataByName('lastname')], [$uniqueData->getCreatedDataByName('firstname'), $uniqueData->getCreatedDataByName('lastname'), "1"], "pass");
64-
$I->assertArrayHasKey("lastname", ['lastname' => $this->createData1->getCreatedDataByName('lastname'), 'firstname' => $this->createData1->getCreatedDataByName('firstname')], "pass");
65-
$I->assertArrayHasKey("lastname", ['lastname' => $uniqueData->getCreatedDataByName('lastname'), 'firstname' => $uniqueData->getCreatedDataByName('firstname')], "pass");
66-
$I->fail($uniqueData->getCreatedDataByName('firstname') . " " . $uniqueData->getCreatedDataByName('lastname'));
67-
$I->fail($this->createData1->getCreatedDataByName('firstname') . " " . $this->createData1->getCreatedDataByName('lastname'));
6854
}
6955
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="../../../../../src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<cest name="AssertCest">
12+
<before>
13+
<createData entity="ReplacementPerson" mergeKey="createData1"/>
14+
</before>
15+
<test name="AssertTest">
16+
<createData entity="UniquePerson" mergeKey="createData2"/>
17+
<grabTextFrom returnVariable="text" selector=".copyright>span" mergeKey="grabTextFrom1"/>
18+
<!-- asserts without variable replacement -->
19+
<comment mergeKey="c1" userInput="asserts without variable replacement"/>
20+
<assertArrayHasKey mergeKey="assertArrayHasKey" expected="apple" expectedType="string" actual="['orange' => 2, 'apple' => 1]" actualType="const" message="pass"/>
21+
<assertArrayNotHasKey mergeKey="assertArrayNotHasKey" expected="kiwi" expectedType="string" actual="['orange' => 2, 'apple' => 1]" message="pass"/>
22+
<assertArraySubset mergeKey="assertArraySubset" expected="[1, 2]" actual="[1, 2, 3, 5]" message="pass"/>
23+
<assertContains mergeKey="assertContains" expected="ab" expectedType="string" actual="['item1' => 'a', 'item2' => 'ab']" message="pass"/>
24+
<assertCount mergeKey="assertCount" expected="2" expectedType="int" actual="['a', 'b']" message="pass"/>
25+
<assertEmpty mergeKey="assertEmpty" actual="[]" message="pass"/>
26+
<assertEquals mergeKey="assertEquals1" expected="text" expectedType="variable" actual="Copyright © 2013-2017 Magento, Inc. All rights reserved." actualType="string" message="pass"/>
27+
<assertEquals mergeKey="assertEquals2" expected="Copyright © 2013-2017 Magento, Inc. All rights reserved." expectedType="string" actual="text" actualType="variable" message="pass"/>
28+
<assertFalse mergeKey="assertFalse1" actual="0" actualType="bool" message="pass"/>
29+
<assertFileNotExists mergeKey="assertFileNotExists1" actual="/out.txt" actualType="string" message="pass"/>
30+
<assertFileNotExists mergeKey="assertFileNotExists2" actual="text" actualType="variable" message="pass"/>
31+
<assertGreaterOrEquals mergeKey="assertGreaterOrEquals" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/>
32+
<assertGreaterThan mergeKey="assertGreaterThan" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/>
33+
<assertGreaterThanOrEqual mergeKey="assertGreaterThanOrEqual" expected="2" expectedType="int" actual="5" actualType="int" message="pass"/>
34+
<assertInternalType mergeKey="assertInternalType1" expected="string" expectedType="string" actual="xyz" actualType="string" message="pass"/>
35+
<assertInternalType mergeKey="assertInternalType2" expected="int" expectedType="string" actual="21" actualType="int" message="pass"/>
36+
<assertInternalType mergeKey="assertInternalType3" expected="string" expectedType="string" actual="text" actualType="variable" message="pass"/>
37+
<assertLessOrEquals mergeKey="assertLessOrEquals" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/>
38+
<assertLessThan mergeKey="assertLessThan" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/>
39+
<assertLessThanOrEqual mergeKey="assertLessThanOrEqual" expected="5" expectedType="int" actual="2" actualType="int" message="pass"/>
40+
<assertNotContains mergeKey="assertNotContains1" expected="bc" expectedType="string" actual="['item1' => 'a', 'item2' => 'ab']" message="pass"/>
41+
<assertNotContains mergeKey="assertNotContains2" expected="bc" expectedType="string" actual="text" actualType="variable" message="pass"/>
42+
<assertNotEmpty mergeKey="assertNotEmpty1" actual="[1, 2]" message="pass"/>
43+
<assertNotEmpty mergeKey="assertNotEmpty2" actual="text" actualType="variable" message="pass"/>
44+
<assertNotEquals mergeKey="assertNotEquals" expected="2" expectedType="int" actual="5" actualType="int" message="pass" delta=""/>
45+
<assertNotNull mergeKey="assertNotNull1" actual="abc" actualType="string" message="pass"/>
46+
<assertNotNull mergeKey="assertNotNull2" actual="text" actualType="variable" message="pass"/>
47+
<assertNotRegExp mergeKey="assertNotRegExp" expected="/foo/" expectedType="string" actual="bar" actualType="string" message="pass"/>
48+
<assertNotSame mergeKey="assertNotSame" expected="log" expectedType="string" actual="tag" actualType="string" message="pass"/>
49+
<assertRegExp mergeKey="assertRegExp" expected="/foo/" expectedType="string" actual="foo" actualType="string" message="pass"/>
50+
<assertSame mergeKey="assertSame" expected="bar" expectedType="string" actual="bar" actualType="string" message="pass"/>
51+
<assertStringStartsNotWith mergeKey="assertStringStartsNotWith" expected="a" expectedType="string" actual="banana" actualType="string" message="pass"/>
52+
<assertStringStartsWith mergeKey="assertStringStartsWith" expected="a" expectedType="string" actual="apple" actualType="string" message="pass"/>
53+
<assertTrue mergeKey="assertTrue" actual="1" actualType="bool" message="pass"/>
54+
55+
<!-- string type that use created data -->
56+
<comment mergeKey="c2" userInput="string type that use created data"/>
57+
<assertStringStartsWith mergeKey="assert1" expected="D" expectedType="string" actual="$$createData1.lastname$$, $$createData1.firstname$$" actualType="string" message="fail"/>
58+
<assertStringStartsNotWith mergeKey="assert2" expected="W" expectedType="string" actual="$createData2.firstname$ $createData2.lastname$" actualType="string" message="pass"/>
59+
<assertEquals mergeKey="assert5" expected="$$createData1.lastname$$" expectedType="string" actual="$$createData1.lastname$$" actualType="string" message="pass"/>
60+
61+
<!-- array type that use created data -->
62+
<comment mergeKey="c3" userInput="array type that use created data"/>
63+
<assertArraySubset mergeKey="assert9" expected="[$$createData1.lastname$$, $$createData1.firstname$$]" expectedType="array" actual="[$$createData1.lastname$$, $$createData1.firstname$$, 1]" actualType="array" message="pass"/>
64+
<assertArraySubset mergeKey="assert10" expected="[$createData2.firstname$, $createData2.lastname$]" expectedType="array" actual="[$createData2.firstname$, $createData2.lastname$, 1]" actualType="array" message="pass"/>
65+
<assertArrayHasKey mergeKey="assert3" expected="lastname" expectedType="string" actual="['lastname' => $$createData1.lastname$$, 'firstname' => $$createData1.firstname$$]" actualType="array" message="pass"/>
66+
<assertArrayHasKey mergeKey="assert4" expected="lastname" expectedType="string" actual="['lastname' => $createData2.lastname$, 'firstname' => $createData2.firstname$]" actualType="array" message="pass"/>
67+
68+
<!-- this section can only be generated and cannot run -->
69+
<assertInstanceOf mergeKey="assertInstanceOf" expected="User::class" actual="text" actualType="variable" message="pass"/>
70+
<assertNotInstanceOf mergeKey="assertNotInstanceOf" expected="User::class" actual="21" actualType="int" message="pass"/>
71+
<assertFileExists mergeKey="assertFileExists2" actual="text" actualType="variable" message="pass"/>
72+
<assertFileExists mergeKey="assert6" actual="AssertCest.php" actualType="string" message="pass"/>
73+
<assertIsEmpty mergeKey="assertIsEmpty" actual="text" actualType="variable" message="pass"/>
74+
<assertNull mergeKey="assertNull" actual="text" actualType="variable" message="pass"/>
75+
<expectException mergeKey="expectException" expected="new MyException('exception msg')" actual="function() {$this->doSomethingBad();}"/>
76+
<fail mergeKey="fail" message="fail"/>
77+
<fail mergeKey="assert7" message="$createData2.firstname$ $createData2.lastname$"/>
78+
<fail mergeKey="assert8" message="$$createData1.firstname$$ $$createData1.lastname$$"/>
79+
</test>
80+
</cest>
81+
</config>

0 commit comments

Comments
 (0)