Skip to content

Commit 0c16a79

Browse files
committed
B2B-2606: Graphql Parser called at least 3 times per request
- Adding MFTF helper to delete all term & conditions. Adding to all tests that need it
1 parent 77e1dab commit 0c16a79

13 files changed

+116
-46
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminAllTermConditionsActionGroup">
11+
<annotations>
12+
<description>Deletes all rows one by one on the 'Terms and Conditions' page.</description>
13+
</annotations>
14+
<arguments>
15+
<argument name="rowsToDelete" defaultValue="{{AdminTermGridSection.allTermRows}}" type="string"/>
16+
</arguments>
17+
<waitForElementVisible selector="{{AdminLegacyDataGridFilterSection.clear}}" stepKey="waitForResetFilter"/>
18+
<click selector="{{AdminLegacyDataGridFilterSection.clear}}" stepKey="clickResetFilter"/>
19+
<waitForPageLoad stepKey="waitForGridReset"/>
20+
<helper class="Magento\CheckoutAgreements\Test\Mftf\Helper\CheckoutAgreementsHelpers" method="deleteAllTermConditionRows" stepKey="deleteAllTermConditionRows">
21+
<argument name="rowsToDelete">{{rowsToDelete}}</argument>
22+
<argument name="deleteButton">{{AdminMainActionsSection.delete}}</argument>
23+
<argument name="modalAcceptButton">{{AdminConfirmationModalSection.ok}}</argument>
24+
<argument name="successMessage">You deleted the condition.</argument>
25+
<argument name="successMessageContainer">{{AdminMessagesSection.success}}</argument>
26+
</helper>
27+
<waitForPageLoad stepKey="waitForGridLoad"/>
28+
<waitForText userInput="We couldn't find any records." selector="{{AdminTermGridSection.emptyGrid}}" stepKey="waitForEmptyGrid"/>
29+
</actionGroup>
30+
</actionGroups>

app/code/Magento/CheckoutAgreements/Test/Mftf/ActionGroup/AdminTermsConditionsFillTermEditFormActionGroup.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@
1111
<actionGroup name="AdminTermsConditionsFillTermEditFormActionGroup">
1212
<arguments>
1313
<argument name="term"/>
14-
<argument name="termName" defaultValue="{{activeTextTerm.name}}" type="string"/>
1514
</arguments>
1615

17-
<fillField selector="{{AdminNewTermFormSection.conditionName}}" userInput="{{termName}}" stepKey="fillFieldConditionName"/>
16+
<fillField selector="{{AdminNewTermFormSection.conditionName}}" userInput="{{term.name}}" stepKey="fillFieldConditionName"/>
1817
<selectOption selector="{{AdminNewTermFormSection.isActive}}" userInput="{{term.isActive}}" stepKey="selectOptionIsActive"/>
1918
<selectOption selector="{{AdminNewTermFormSection.isHtml}}" userInput="{{term.isHtml}}" stepKey="selectOptionIsHtml"/>
2019
<selectOption selector="{{AdminNewTermFormSection.mode}}" userInput="{{term.mode}}" stepKey="selectOptionMode"/>
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\CheckoutAgreements\Test\Mftf\Helper;
9+
10+
use Facebook\WebDriver\Remote\RemoteWebDriver as FacebookWebDriver;
11+
use Facebook\WebDriver\WebDriverBy;
12+
use Magento\FunctionalTestingFramework\Helper\Helper;
13+
use Magento\FunctionalTestingFramework\Module\MagentoWebDriver;
14+
15+
/**
16+
* Class for MFTF helpers for CheckoutAgreements module.
17+
*/
18+
class CheckoutAgreementsHelpers extends Helper
19+
{
20+
/**
21+
* Delete all term conditions one by one from the Terms & Conditions grid page.
22+
*
23+
* @param string $rowsToDelete
24+
* @param string $deleteButton
25+
* @param string $modalAcceptButton
26+
* @param string $successMessage
27+
* @param string $successMessageContainer
28+
*
29+
* @return void
30+
*/
31+
public function deleteAllTermConditionRows(
32+
string $rowsToDelete,
33+
string $deleteButton,
34+
string $modalAcceptButton,
35+
string $successMessage,
36+
string $successMessageContainer
37+
): void {
38+
try {
39+
/** @var MagentoWebDriver $webDriver */
40+
$magentoWebDriver = $this->getModule('\Magento\FunctionalTestingFramework\Module\MagentoWebDriver');
41+
/** @var FacebookWebDriver $webDriver */
42+
$webDriver = $magentoWebDriver->webDriver;
43+
44+
$magentoWebDriver->waitForPageLoad(30);
45+
$rows = $webDriver->findElements(WebDriverBy::xpath($rowsToDelete));
46+
while (!empty($rows)) {
47+
$rows[0]->click();
48+
$magentoWebDriver->waitForPageLoad(30);
49+
$magentoWebDriver->waitForElementVisible($deleteButton, 10);
50+
$magentoWebDriver->click($deleteButton);
51+
$magentoWebDriver->waitForPageLoad(30);
52+
$magentoWebDriver->waitForElementVisible($modalAcceptButton, 10);
53+
$magentoWebDriver->click($modalAcceptButton);
54+
$magentoWebDriver->waitForPageLoad(60);
55+
$magentoWebDriver->waitForText($successMessage, 10, $successMessageContainer);
56+
$rows = $webDriver->findElements(WebDriverBy::xpath($rowsToDelete));
57+
}
58+
} catch (\Exception $exception) {
59+
$this->fail($exception->getMessage());
60+
}
61+
}
62+
}

app/code/Magento/CheckoutAgreements/Test/Mftf/Section/AdminTermGridSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,7 @@
1515
<element name="firstRowConditionName" type="text" selector=".data-grid>tbody>tr>td.col-name"/>
1616
<element name="firstRowConditionId" type="text" selector=".data-grid>tbody>tr>td.col-id.col-agreement_id"/>
1717
<element name="successMessage" type="text" selector=".message-success"/>
18+
<element name="allTermRows" type="block" selector="//table[@id='agreementGrid_table']//tbody//tr[not(contains(@class,'data-grid-tr-no-data'))]"/>
19+
<element name="emptyGrid" type="block" selector="//table[@id='agreementGrid_table']//tbody//tr[contains(@class,'data-grid-tr-no-data')]"/>
1820
</section>
1921
</sections>

app/code/Magento/CheckoutAgreements/Test/Mftf/Test/AdminCreateActiveHtmlTermEntityTest.xml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,16 @@
3333
<deleteData createDataKey="createProduct" stepKey="deletedProduct"/>
3434

3535
<actionGroup ref="AdminTermsConditionsOpenGridActionGroup" stepKey="openTermsGridToDelete"/>
36-
<actionGroup ref="AdminOpenEditPageTermsConditionsByNameActionGroup" stepKey="openTermToDelete">
37-
<argument name="termName" value="{{activeHtmlTerm.name}}"/>
38-
</actionGroup>
39-
<actionGroup ref="AdminTermsConditionsDeleteTermByNameActionGroup" stepKey="deleteOpenedTerm"/>
36+
<actionGroup ref="AdminAllTermConditionsActionGroup" stepKey="deleteAllTerms"/>
37+
<comment userInput="BIC workaround" stepKey="openTermToDelete"/>
38+
<comment userInput="BIC workaround" stepKey="deleteOpenedTerm"/>
4039

4140
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
4241
</after>
4342

4443
<actionGroup ref="AdminTermsConditionsOpenNewTermPageActionGroup" stepKey="openNewTerm"/>
4544
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="fillNewTerm">
4645
<argument name="term" value="activeHtmlTerm"/>
47-
<argument name="termName" value="{{activeHtmlTerm.name}}"/>
4846
</actionGroup>
4947
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveNewTerm"/>
5048

app/code/Magento/CheckoutAgreements/Test/Mftf/Test/AdminCreateActiveTextTermEntityTest.xml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,11 @@
2020
<group value="mtf_migrated"/>
2121
</annotations>
2222
<after>
23-
<actionGroup ref="AdminOpenEditPageTermsConditionsByNameActionGroup" stepKey="openTermToDelete">
24-
<argument name="termName" value="{{activeTextTerm.name}}"/>
25-
</actionGroup>
23+
<comment userInput="BIC workaround" stepKey="openTermToDelete"/>
2624
</after>
2725

2826
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="fillNewTerm">
2927
<argument name="term" value="activeTextTerm"/>
30-
<argument name="termName" value="{{activeTextTerm.name}}"/>
3128
</actionGroup>
3229
<actionGroup ref="AssertAdminTermsConditionsInGridActionGroup" stepKey="assertTermInGrid">
3330
<argument name="termName" value="{{activeTextTerm.name}}"/>

app/code/Magento/CheckoutAgreements/Test/Mftf/Test/AdminCreateDisabledTextTermEntityTest.xml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,16 @@
3232
<deleteData createDataKey="createProduct" stepKey="deletedProduct"/>
3333

3434
<actionGroup ref="AdminTermsConditionsOpenGridActionGroup" stepKey="openTermsGridToDelete"/>
35-
<actionGroup ref="AdminOpenEditPageTermsConditionsByNameActionGroup" stepKey="openTermToDelete">
36-
<argument name="termName" value="{{disabledTextTerm.name}}"/>
37-
</actionGroup>
38-
<actionGroup ref="AdminTermsConditionsDeleteTermByNameActionGroup" stepKey="deleteOpenedTerm"/>
35+
<actionGroup ref="AdminAllTermConditionsActionGroup" stepKey="deleteAllTerms"/>
36+
<comment userInput="BIC workaround" stepKey="openTermToDelete"/>
37+
<comment userInput="BIC workaround" stepKey="deleteOpenedTerm"/>
3938

4039
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
4140
</after>
4241

4342
<actionGroup ref="AdminTermsConditionsOpenNewTermPageActionGroup" stepKey="openNewTerm"/>
4443
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="fillNewTerm">
4544
<argument name="term" value="disabledTextTerm"/>
46-
<argument name="termName" value="{{disabledTextTerm.name}}"/>
4745
</actionGroup>
4846
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveNewTerm"/>
4947

app/code/Magento/CheckoutAgreements/Test/Mftf/Test/AdminCreateEnabledTextTermOnMultishippingEntityTest.xml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,16 @@
4141
<deleteData createDataKey="createdProduct2" stepKey="deletedProduct2"/>
4242

4343
<actionGroup ref="AdminTermsConditionsOpenGridActionGroup" stepKey="openTermsGridToDelete"/>
44-
<actionGroup ref="AdminOpenEditPageTermsConditionsByNameActionGroup" stepKey="openTermToDelete">
45-
<argument name="termName" value="{{activeTextTerm.name}}"/>
46-
</actionGroup>
47-
<actionGroup ref="AdminTermsConditionsDeleteTermByNameActionGroup" stepKey="deleteOpenedTerm"/>
44+
<actionGroup ref="AdminAllTermConditionsActionGroup" stepKey="deleteAllTerms"/>
45+
<comment userInput="BIC workaround" stepKey="openTermToDelete"/>
46+
<comment userInput="BIC workaround" stepKey="deleteOpenedTerm"/>
4847

4948
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
5049
</after>
5150

5251
<actionGroup ref="AdminTermsConditionsOpenNewTermPageActionGroup" stepKey="openNewTerm"/>
5352
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="fillNewTerm">
5453
<argument name="term" value="activeTextTerm"/>
55-
<argument name="termName" value="{{activeTextTerm.name}}"/>
5654
</actionGroup>
5755
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveNewTerm"/>
5856

app/code/Magento/CheckoutAgreements/Test/Mftf/Test/AdminDeleteActiveTextTermEntityTest.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
<actionGroup ref="AdminTermsConditionsOpenNewTermPageActionGroup" stepKey="openNewTerm"/>
2929
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="createTerm">
3030
<argument name="term" value="activeTextTerm"/>
31-
<argument name="termName" value="{{activeTextTerm.name}}"/>
3231
</actionGroup>
3332
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveNewTerm"/>
3433
</before>

app/code/Magento/CheckoutAgreements/Test/Mftf/Test/AdminUpdateDisabledHtmlTermEntityTest.xml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,16 @@
3232
<deleteData createDataKey="createProduct" stepKey="deletedProduct"/>
3333

3434
<actionGroup ref="AdminTermsConditionsOpenGridActionGroup" stepKey="openTermsGridToDelete"/>
35-
<actionGroup ref="AdminOpenEditPageTermsConditionsByNameActionGroup" stepKey="openTermToDelete">
36-
<argument name="termName" value="{{disabledHtmlTerm.name}}"/>
37-
</actionGroup>
38-
<actionGroup ref="AdminTermsConditionsDeleteTermByNameActionGroup" stepKey="deleteOpenedTerm"/>
35+
<actionGroup ref="AdminAllTermConditionsActionGroup" stepKey="deleteAllTerms"/>
36+
<comment userInput="BIC workaround" stepKey="openTermToDelete"/>
37+
<comment userInput="BIC workaround" stepKey="deleteOpenedTerm"/>
3938

4039
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
4140
</after>
4241

4342
<actionGroup ref="AdminTermsConditionsOpenNewTermPageActionGroup" stepKey="openNewTerm"/>
4443
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="fillNewTerm">
4544
<argument name="term" value="disabledHtmlTerm"/>
46-
<argument name="termName" value="{{disabledHtmlTerm.name}}"/>
4745
</actionGroup>
4846
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveNewTerm"/>
4947

@@ -53,13 +51,12 @@
5351
</actionGroup>
5452
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="fillUpdateTerm">
5553
<argument name="term" value="activeTextTerm"/>
56-
<argument name="termName" value="{{disabledHtmlTerm.name}}"/>
5754
</actionGroup>
5855
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveUpdateTerm"/>
5956

6057
<actionGroup ref="AdminTermsConditionsOpenGridActionGroup" stepKey="openNewTermsGrid"/>
6158
<actionGroup ref="AssertAdminTermsConditionsInGridActionGroup" stepKey="assertTermInGrid">
62-
<argument name="termName" value="{{disabledHtmlTerm.name}}"/>
59+
<argument name="termName" value="{{activeTextTerm.name}}"/>
6360
</actionGroup>
6461

6562
<openNewTab stepKey="openStorefrontTab"/>

0 commit comments

Comments
 (0)