Skip to content

[MFTF] add StorefrontGiftMessageForOrderOnCheckoutCartPageTest #32792

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Nov 4, 2021
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AssertAdminGiftMessageForOrderActionGroup">
<annotations>
<description>Check that Gift Message for order present on admin side.</description>
</annotations>

<seeInCurrentUrl url="sales/order/view" stepKey="assertOrderViewPage"/>
<scrollTo selector="{{AdminOrderGiftSection.giftMessageOrderSection}}" stepKey="scrollToGiftMessageSection"/>
<seeInField userInput="July" selector="{{AdminOrderGiftSection.giftMessageFromName}}" stepKey="seeFromName"/>
<seeInField userInput="Josh" selector="{{AdminOrderGiftSection.giftMessageToName}}" stepKey="seeToName"/>
<seeInField userInput="Best wishes!" selector="{{AdminOrderGiftSection.giftMessageMessage}}" stepKey="seeMessage"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AssertStorefrontGiftMessageOnCheckoutCartPageActionGroup">
<annotations>
<description>Check that Gift Message for order present on checkout cart page.</description>
</annotations>

<waitForElementVisible selector="{{StorefrontOrderGiftSection.giftMessageTitle}}" stepKey="waitTitleOnThePage"/>
<see selector="{{StorefrontOrderGiftSection.giftMessageTitle}}" userInput="Gift options" stepKey="seeTitleOnThePage"/>
<click selector="{{StorefrontOrderGiftSection.giftMessageTitle}}" stepKey="openGiftMessageForm"/>
<scrollTo selector="{{StorefrontOrderGiftSection.giftMessageToLabel}}" stepKey="scrollToTitleOnThePage"/>
<see selector="{{StorefrontOrderGiftSection.giftMessageToLabel}}" userInput="To:" stepKey="seeTitleFromLabel"/>
<see selector="{{StorefrontOrderGiftSection.giftMessageFromLabel}}" userInput="From:" stepKey="seeTitleToLabel"/>
<see selector="{{StorefrontOrderGiftSection.giftMessageMessageLabel}}" userInput="Message:" stepKey="seeMessageLabel"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="GuestGiftCheckoutFillingShippingSectionActionGroup" extends="GuestCheckoutFillingShippingSectionActionGroup">
<annotations>
<description>EXTENDS: Fills in the provided Customer/Address (Including Region) details on the Storefront Checkout page under the 'Shipping Address' section. Selects the provided Shipping Method. Clicks on Next. Validates that the URL is present and correct.</description>
</annotations>
<arguments>
<argument name="customerVar" defaultValue="CustomerEntityOne"/>
<argument name="customerAddressVar" defaultValue="CustomerAddressSimple"/>
<!--First available shipping method will be selected if value is not passed for shippingMethod-->
<argument name="shippingMethod" defaultValue="" type="string"/>
</arguments>

<seeInCurrentUrl url="{{CheckoutPage.url}}#payment" stepKey="assertCheckoutPaymentUrl"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="StorefrontFieldGiftMessageCartFormActionGroup">
<annotations>
<description>Fill gift messages for order.</description>
</annotations>
<fillField selector="{{StorefrontOrderGiftSection.giftMessageToField}}" userInput="Josh" stepKey="fillToField"/>
<fillField selector="{{StorefrontOrderGiftSection.giftMessageFromField}}" userInput="July" stepKey="fillFromField"/>
<fillField selector="{{StorefrontOrderGiftSection.giftMessageTextField}}" userInput="Best wishes!" stepKey="fillMessageField"/>
<click selector="{{StorefrontOrderGiftSection.giftMessageUpdateButton}}" stepKey="saveGiftMessage"/>
<waitForPageLoad stepKey="waitForPageLoaded" />
<scrollTo selector="{{StorefrontOrderGiftSection.giftMessageSummary}}" stepKey="scrollToGiftMessage"/>
<see selector="{{StorefrontOrderGiftSection.giftMessageSummary}}" userInput="Best wishes!" stepKey="seeGiftMessage"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,9 @@
<section name="AdminOrderGiftSection">
<element name="orderItemGiftOptionsLink" type="text" selector="//table[contains(@class, 'edit-order-table')]//tbody[contains(.,'{{productName}}')]//a[contains(@class, 'action-link')]" parameterized="true"/>
<element name="orderItemGiftMessage" type="textarea" selector="#current_item_giftmessage_message" />
<element name="giftMessageOrderSection" type="block" selector=".giftmessage-whole-order-container"/>
<element name="giftMessageFromName" type="input" selector=".giftmessage-whole-order-container .admin__field:nth-of-type(1) input"/>
<element name="giftMessageToName" type="input" selector=".giftmessage-whole-order-container .admin__field:nth-of-type(2) input"/>
<element name="giftMessageMessage" type="input" selector=".giftmessage-whole-order-container .admin__field textarea"/>
</section>
</sections>
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,14 @@
<section name="StorefrontOrderGiftSection">
<element name="giftMessageLink" type="button" selector=".table-wrapper.order-items .options .action.show"/>
<element name="giftMessage" type="text" selector=".order-gift-message .item-message" />
<element name="giftMessageTitle" type="text" selector=".cart-gift-item > .gift-item-block > .title > span"/>
<element name="giftMessageToLabel" type="text" selector=".gift-options-content .field-to .label span"/>
<element name="giftMessageFromLabel" type="text" selector=".gift-options-content .field-from .label span"/>
<element name="giftMessageMessageLabel" type="text" selector=".gift-options-content .text .label span"/>
<element name="giftMessageToField" type="input" selector=".gift-options-content .field-to input"/>
<element name="giftMessageFromField" type="input" selector=".gift-options-content .field-from input"/>
<element name="giftMessageTextField" type="input" selector=".gift-options-content .text textarea"/>
<element name="giftMessageSummary" type="text" selector=".gift-message-summary"/>
<element name="giftMessageUpdateButton" type="button" selector="button.action-update"/>
</section>
</sections>
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->

<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="StorefrontGiftMessageForOrderOnCheckoutCartPageTest">
<annotations>
<stories value="Gift Message for order present on checkout cart page."/>
<title value="Gift Message for order present on checkout cart page."/>
<description value="Gift Message for order present on checkout cart page."/>
<severity value="MAJOR"/>
</annotations>
<before>
<magentoCLI command="config:set sales/gift_options/allow_order 1" stepKey="enableGiftMessageForOrder"/>
<createData entity="SimpleProduct2" stepKey="simpleProduct"/>
</before>
<after>
<magentoCLI command="config:set sales/gift_options/allow_order 0" stepKey="disableGiftMessageForOrder"/>
<deleteData createDataKey="simpleProduct" stepKey="deleteProduct"/>
</after>

<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addProductToCart">
<argument name="product" value="$$simpleProduct$$"/>
</actionGroup>

<actionGroup ref="StorefrontCartPageOpenActionGroup" stepKey="goToCartPage" />
<actionGroup ref="AssertStorefrontGiftMessageOnCheckoutCartPageActionGroup" stepKey="seeGiftMessageFields"/>
<actionGroup ref="StorefrontFieldGiftMessageCartFormActionGroup" stepKey="fillGiftMessageFields"/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add few more steps to place the order and check the messages are shown on the admin?

<actionGroup ref="StorefrontOpenCheckoutPageActionGroup" stepKey="navigateToCheckoutPage"/>
<actionGroup ref="GuestGiftCheckoutFillingShippingSectionActionGroup" stepKey="guestCheckoutFillingShipping">
<argument name="shippingMethod" value="Flat Rate"/>
</actionGroup>
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="guestSelectCheckMoneyOrderPayment"/>
<actionGroup ref="ClickPlaceOrderActionGroup" stepKey="placeOrder"/>
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" stepKey="grabOrderNumber"/>
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
<actionGroup ref="OpenOrderByIdActionGroup" stepKey="filterOrdersGridById">
<argument name="orderId" value="{$grabOrderNumber}"/>
</actionGroup>
<actionGroup ref="AssertAdminGiftMessageForOrderActionGroup" stepKey="assertGiftMessageForAdminOrder"/>
</test>
</tests>