AssertTest.txt 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. namespace Magento\AcceptanceTest\_default\Backend;
  3. use Magento\FunctionalTestingFramework\AcceptanceTester;
  4. use Magento\FunctionalTestingFramework\DataGenerator\Handlers\CredentialStore;
  5. use Magento\FunctionalTestingFramework\DataGenerator\Handlers\PersistedObjectHandler;
  6. use \Codeception\Util\Locator;
  7. use Yandex\Allure\Adapter\Annotation\Features;
  8. use Yandex\Allure\Adapter\Annotation\Stories;
  9. use Yandex\Allure\Adapter\Annotation\Title;
  10. use Yandex\Allure\Adapter\Annotation\Description;
  11. use Yandex\Allure\Adapter\Annotation\Parameter;
  12. use Yandex\Allure\Adapter\Annotation\Severity;
  13. use Yandex\Allure\Adapter\Model\SeverityLevel;
  14. use Yandex\Allure\Adapter\Annotation\TestCaseId;
  15. /**
  16. */
  17. class AssertTestCest
  18. {
  19. /**
  20. * @param AcceptanceTester $I
  21. * @throws \Exception
  22. */
  23. public function _before(AcceptanceTester $I)
  24. {
  25. $I->amGoingTo("create entity that has the stepKey: createData1");
  26. PersistedObjectHandler::getInstance()->createEntity(
  27. "createData1",
  28. "hook",
  29. "ReplacementPerson",
  30. [],
  31. null
  32. );
  33. }
  34. /**
  35. * @Features({"TestModule"})
  36. * @Parameter(name = "AcceptanceTester", value="$I")
  37. * @param AcceptanceTester $I
  38. * @return void
  39. * @throws \Exception
  40. */
  41. public function AssertTest(AcceptanceTester $I)
  42. {
  43. $I->amGoingTo("create entity that has the stepKey: createData2");
  44. PersistedObjectHandler::getInstance()->createEntity(
  45. "createData2",
  46. "test",
  47. "UniquePerson",
  48. [],
  49. null
  50. );
  51. $grabTextFrom1 = $I->grabTextFrom(".copyright>span");
  52. $I->assertArrayIsSorted(["1", "2", "3", "4", "5"], "asc");
  53. $I->comment("asserts without variable replacement");
  54. $I->assertArrayHasKey("apple", ['orange' => 2, 'apple' => 1], "pass");
  55. $I->assertArrayNotHasKey("kiwi", ['orange' => 2, 'apple' => 1], "pass");
  56. $I->assertArraySubset([1, 2], [1, 2, 3, 5], "pass");
  57. $I->assertContains("ab", ['item1' => 'a', 'item2' => 'ab'], "pass");
  58. $I->assertCount(2, ['a', 'b'], "pass");
  59. $I->assertEmpty([], "pass");
  60. $I->assertEquals($text, "Copyright © 2013-2017 Magento, Inc. All rights reserved.", "pass");
  61. $I->assertEquals("Copyright © 2013-2017 Magento, Inc. All rights reserved.", $text, "pass");
  62. $I->assertFalse(false, "pass");
  63. $I->assertFileNotExists("/out.txt", "pass");
  64. $I->assertFileNotExists($text, "pass");
  65. $I->assertGreaterOrEquals(2, 5, "pass");
  66. $I->assertGreaterThan(2, 5, "pass");
  67. $I->assertGreaterThanOrEqual(2, 5, "pass");
  68. $I->assertInternalType("string", "xyz", "pass");
  69. $I->assertInternalType("int", 21, "pass");
  70. $I->assertInternalType("string", $text, "pass");
  71. $I->assertLessOrEquals(5, 2, "pass");
  72. $I->assertLessThan(5, 2, "pass");
  73. $I->assertLessThanOrEqual(5, 2, "pass");
  74. $I->assertNotContains("bc", ['item1' => 'a', 'item2' => 'ab'], "pass");
  75. $I->assertNotContains("bc", $text, "pass");
  76. $I->assertNotEmpty([1, 2], "pass");
  77. $I->assertNotEmpty($text, "pass");
  78. $I->assertNotEquals(2, 5, "pass", 0);
  79. $I->assertNotNull("abc", "pass");
  80. $I->assertNotNull($text, "pass");
  81. $I->assertNotRegExp("/foo/", "bar", "pass");
  82. $I->assertNotSame("log", "tag", "pass");
  83. $I->assertRegExp("/foo/", "foo", "pass");
  84. $I->assertSame("bar", "bar", "pass");
  85. $I->assertStringStartsNotWith("a", "banana", "pass");
  86. $I->assertStringStartsWith("a", "apple", "pass");
  87. $I->assertTrue(true, "pass");
  88. $I->comment("asserts backward compatible");
  89. $I->assertArrayHasKey("apple", ['orange' => 2, 'apple' => 1], "pass");
  90. $I->assertArrayNotHasKey("kiwi", ['orange' => 2, 'apple' => 1], "pass");
  91. $I->assertArraySubset([1, 2], [1, 2, 3, 5], "pass");
  92. $I->assertContains("ab", ['item1' => 'a', 'item2' => 'ab'], "pass");
  93. $I->assertCount(2, ['a', 'b'], "pass");
  94. $I->assertEmpty([], "pass");
  95. $I->assertEquals($text, "Copyright © 2013-2017 Magento, Inc. All rights reserved.", "pass");
  96. $I->assertEquals("Copyright © 2013-2017 Magento, Inc. All rights reserved.", $text, "pass");
  97. $I->assertFalse(false, "pass");
  98. $I->assertFileNotExists("/out.txt", "pass");
  99. $I->assertFileNotExists($text, "pass");
  100. $I->assertGreaterOrEquals(2, 5, "pass");
  101. $I->assertGreaterThan(2, 5, "pass");
  102. $I->assertGreaterThanOrEqual(2, 5, "pass");
  103. $I->assertInternalType("string", "xyz", "pass");
  104. $I->assertInternalType("int", 21, "pass");
  105. $I->assertInternalType("string", $text, "pass");
  106. $I->assertLessOrEquals(5, 2, "pass");
  107. $I->assertLessThan(5, 2, "pass");
  108. $I->assertLessThanOrEqual(5, 2, "pass");
  109. $I->assertNotContains("bc", ['item1' => 'a', 'item2' => 'ab'], "pass");
  110. $I->assertNotContains("bc", $text, "pass");
  111. $I->assertNotEmpty([1, 2], "pass");
  112. $I->assertNotEmpty($text, "pass");
  113. $I->assertNotEquals(2, 5, "pass", 0);
  114. $I->assertNotNull("abc", "pass");
  115. $I->assertNotNull($text, "pass");
  116. $I->assertNotRegExp("/foo/", "bar", "pass");
  117. $I->assertNotSame("log", "tag", "pass");
  118. $I->assertRegExp("/foo/", "foo", "pass");
  119. $I->assertSame("bar", "bar", "pass");
  120. $I->assertStringStartsNotWith("a", "banana", "pass");
  121. $I->assertStringStartsWith("a", "apple", "pass");
  122. $I->assertTrue(true, "pass");
  123. $I->assertElementContainsAttribute("#username", "class", "admin__control-text");
  124. $I->assertInstanceOf(User::class, $text, "pass");
  125. $I->assertNotInstanceOf(User::class, 21, "pass");
  126. $I->assertFileExists($text, "pass");
  127. $I->assertIsEmpty($text, "pass");
  128. $I->assertNull($text, "pass");
  129. $I->expectException(new MyException('exception msg'), function() {$this->doSomethingBad();});
  130. $I->comment("string type that use created data");
  131. $I->assertStringStartsWith("D", PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test') . ", " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test'), "fail");
  132. $I->assertStringStartsNotWith("W", PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test') . ", " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test'), "pass");
  133. $I->assertEquals(PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), "pass");
  134. $I->comment("array type that use created data");
  135. $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");
  136. $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");
  137. $I->assertArrayHasKey("lastname", ['lastname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'), 'firstname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test')], "pass");
  138. $I->assertArrayHasKey("lastname", ['lastname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test'), 'firstname' => PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test')], "pass");
  139. $I->assertInstanceOf(User::class, $text, "pass");
  140. $I->assertNotInstanceOf(User::class, 21, "pass");
  141. $I->assertFileExists($text, "pass");
  142. $I->assertFileExists("AssertCest.php", "pass");
  143. $I->assertIsEmpty($text, "pass");
  144. $I->assertNull($text, "pass");
  145. $I->expectException(new MyException('exception msg'), function() {$this->doSomethingBad();});
  146. $I->fail("fail");
  147. $I->fail(PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test') . " " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'lastname', 'test'));
  148. $I->fail(PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test') . " " . PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'lastname', 'test'));
  149. $I->assertElementContainsAttribute("#username", "class", "admin__control-text");
  150. $I->assertElementContainsAttribute("#username", "name", "login[username]");
  151. $I->assertElementContainsAttribute("#username", "autofocus", "true");
  152. $I->assertElementContainsAttribute("#username", "data-validate", "{required:true}");
  153. $I->assertElementContainsAttribute(".admin__menu-overlay", "style", "display: none;");
  154. $I->assertElementContainsAttribute(".admin__menu-overlay", "border", "0");
  155. $I->assertElementContainsAttribute("#username", "value", PersistedObjectHandler::getInstance()->retrieveEntityField('createData2', 'firstname', 'test'));
  156. $I->assertElementContainsAttribute("#username", "value", PersistedObjectHandler::getInstance()->retrieveEntityField('createData1', 'firstname', 'test'));
  157. $I->assertEquals("John", "Doe", "pass");
  158. }
  159. }