<?php namespace Magento\AcceptanceTest\_default\Backend; use Magento\FunctionalTestingFramework\AcceptanceTester; use Magento\FunctionalTestingFramework\DataGenerator\Handlers\CredentialStore; use Magento\FunctionalTestingFramework\DataGenerator\Handlers\PersistedObjectHandler; use \Codeception\Util\Locator; use Yandex\Allure\Adapter\Annotation\Features; use Yandex\Allure\Adapter\Annotation\Stories; use Yandex\Allure\Adapter\Annotation\Title; use Yandex\Allure\Adapter\Annotation\Description; use Yandex\Allure\Adapter\Annotation\Parameter; use Yandex\Allure\Adapter\Annotation\Severity; use Yandex\Allure\Adapter\Model\SeverityLevel; use Yandex\Allure\Adapter\Annotation\TestCaseId; /** */ class AssertTestCest { /** * @param AcceptanceTester $I * @throws \Exception */ public function _before(AcceptanceTester $I) { $I->amGoingTo("create entity that has the stepKey: createData1"); PersistedObjectHandler::getInstance()->createEntity( "createData1", "hook", "ReplacementPerson", [], null ); } /** * @Features({"TestModule"}) * @Parameter(name = "AcceptanceTester", value="$I") * @param AcceptanceTester $I * @return void * @throws \Exception */ public function AssertTest(AcceptanceTester $I) { $I->amGoingTo("create entity that has the stepKey: createData2"); PersistedObjectHandler::getInstance()->createEntity( "createData2", "test", "UniquePerson", [], null ); $grabTextFrom1 = $I->grabTextFrom(".copyright>span"); $I->assertArrayIsSorted(["1", "2", "3", "4", "5"], "asc"); $I->comment("asserts without variable replacement"); $I->assertArrayHasKey("apple", ['orange' => 2, 'apple' => 1], "pass"); $I->assertArrayNotHasKey("kiwi", ['orange' => 2, 'apple' => 1], "pass"); $I->assertArraySubset([1, 2], [1, 2, 3, 5], "pass"); $I->assertContains("ab", ['item1' => 'a', 'item2' => 'ab'], "pass"); $I->assertCount(2, ['a', 'b'], "pass"); $I->assertEmpty([], "pass"); $I->assertEquals($text, "Copyright © 2013-2017 Magento, Inc. All rights reserved.", "pass"); $I->assertEquals("Copyright © 2013-2017 Magento, Inc. All rights reserved.", $text, "pass"); $I->assertFalse(false, "pass"); $I->assertFileNotExists("/out.txt", "pass"); $I->assertFileNotExists($text, "pass"); $I->assertGreaterOrEquals(2, 5, "pass"); $I->assertGreaterThan(2, 5, "pass"); $I->assertGreaterThanOrEqual(2, 5, "pass"); $I->assertInternalType("string", "xyz", "pass"); $I->assertInternalType("int", 21, "pass"); $I->assertInternalType("string", $text, "pass"); $I->assertLessOrEquals(5, 2, "pass"); $I->assertLessThan(5, 2, "pass"); $I->assertLessThanOrEqual(5, 2, "pass"); $I->assertNotContains("bc", ['item1' => 'a', 'item2' => 'ab'], "pass"); $I->assertNotContains("bc", $text, "pass"); $I->assertNotEmpty([1, 2], "pass"); $I->assertNotEmpty($text, "pass"); $I->assertNotEquals(2, 5, "pass", 0); $I->assertNotNull("abc", "pass"); $I->assertNotNull($text, "pass"); $I->assertNotRegExp("/foo/", "bar", "pass"); $I->assertNotSame("log", "tag", "pass"); $I->assertRegExp("/foo/", "foo", "pass"); $I->assertSame("bar", "bar", "pass"); $I->assertStringStartsNotWith("a", "banana", "pass"); $I->assertStringStartsWith("a", "apple", "pass"); $I->assertTrue(true, "pass"); $I->comment("asserts backward compatible"); $I->assertArrayHasKey("apple", ['orange' => 2, 'apple' => 1], "pass"); $I->assertArrayNotHasKey("kiwi", ['orange' => 2, 'apple' => 1], "pass"); $I->assertArraySubset([1, 2], [1, 2, 3, 5], "pass"); $I->assertContains("ab", ['item1' => 'a', 'item2' => 'ab'], "pass"); $I->assertCount(2, ['a', 'b'], "pass"); $I->assertEmpty([], "pass"); $I->assertEquals($text, "Copyright © 2013-2017 Magento, Inc. All rights reserved.", "pass"); $I->assertEquals("Copyright © 2013-2017 Magento, Inc. All rights reserved.", $text, "pass"); $I->assertFalse(false, "pass"); $I->assertFileNotExists("/out.txt", "pass"); $I->assertFileNotExists($text, "pass"); $I->assertGreaterOrEquals(2, 5, "pass"); $I->assertGreaterThan(2, 5, "pass"); $I->assertGreaterThanOrEqual(2, 5, "pass"); $I->assertInternalType("string", "xyz", "pass"); $I->assertInternalType("int", 21, "pass"); $I->assertInternalType("string", $text, "pass"); $I->assertLessOrEquals(5, 2, "pass"); $I->assertLessThan(5, 2, "pass"); $I->assertLessThanOrEqual(5, 2, "pass"); $I->assertNotContains("bc", ['item1' => 'a', 'item2' => 'ab'], "pass"); $I->assertNotContains("bc", $text, "pass"); $I->assertNotEmpty([1, 2], "pass"); $I->assertNotEmpty($text, "pass"); $I->assertNotEquals(2, 5, "pass", 0); $I->assertNotNull("abc", "pass"); $I->assertNotNull($text, "pass"); $I->assertNotRegExp("/foo/", "bar", "pass"); $I->assertNotSame("log", "tag", "pass"); $I->assertRegExp("/foo/", "foo", "pass"); $I->assertSame("bar", "bar", "pass"); $I->assertStringStartsNotWith("a", "banana", "pass"); $I->assertStringStartsWith("a", "apple", "pass"); $I->assertTrue(true, "pass"); $I->assertElementContainsAttribute("#username", "class", "admin__control-text"); $I->assertInstanceOf(User::class, $text, "pass"); $I->assertNotInstanceOf(User::class, 21, "pass"); $I->assertFileExists($text, "pass"); $I->assertIsEmpty($text, "pass"); $I->assertNull($text, "pass"); $I->expectException(new MyException('exception msg'), function() {$this->doSomethingBad();}); $I->comment("string type that use created data"); $I->assertStringStartsWith("D", PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test') . ", " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test'), "fail"); $I->assertStringStartsNotWith("W", PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test') . ", " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test'), "pass"); $I->assertEquals(PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), "pass"); $I->comment("array type that use created data"); $I->assertArraySubset([PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test')], [PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test'), "1"], "pass"); $I->assertArraySubset([PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test'), PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test')], [PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test'), PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test'), "1"], "pass"); $I->assertArrayHasKey("lastname", ['lastname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), 'firstname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test')], "pass"); $I->assertArrayHasKey("lastname", ['lastname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test'), 'firstname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test')], "pass"); $I->assertInstanceOf(User::class, $text, "pass"); $I->assertNotInstanceOf(User::class, 21, "pass"); $I->assertFileExists($text, "pass"); $I->assertFileExists("AssertCest.php", "pass"); $I->assertIsEmpty($text, "pass"); $I->assertNull($text, "pass"); $I->expectException(new MyException('exception msg'), function() {$this->doSomethingBad();}); $I->fail("fail"); $I->fail(PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test') . " " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test')); $I->fail(PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test') . " " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test')); $I->assertElementContainsAttribute("#username", "class", "admin__control-text"); $I->assertElementContainsAttribute("#username", "name", "login[username]"); $I->assertElementContainsAttribute("#username", "autofocus", "true"); $I->assertElementContainsAttribute("#username", "data-validate", "{required:true}"); $I->assertElementContainsAttribute(".admin__menu-overlay", "style", "display: none;"); $I->assertElementContainsAttribute(".admin__menu-overlay", "border", "0"); $I->assertElementContainsAttribute("#username", "value", PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test')); $I->assertElementContainsAttribute("#username", "value", PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test')); $I->assertEquals("John", "Doe", "pass"); } }