Skip to content

Commit

Permalink
MFTF test.
Browse files Browse the repository at this point in the history
  • Loading branch information
engcom-Kilo committed Jun 10, 2020
1 parent 92fd06b commit 1f7eace
Show file tree
Hide file tree
Showing 3 changed files with 134 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?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="StorefrontNotAssertDownloadableProductLinkInCustomerAccountActionGroup">
<annotations>
<description>Goes to the Storefront Customer Dashboard page. Clicks on 'My Downloadable Products'. Validates that the provided Downloadable Product is present and Downloadable link not exist.</description>
</annotations>
<arguments>
<argument name="product"/>
</arguments>

<amOnPage url="{{StorefrontCustomerDashboardPage.url}}" stepKey="goToMyAccountPage"/>
<click selector="{{StorefrontCustomerSidebarSection.sidebarTab('My Downloadable Products')}}" stepKey="clickDownloadableProducts"/>
<waitForPageLoad stepKey="waitForDownloadableProductsPageLoad"/>
<seeElement selector="{{StorefrontCustomerDownloadableProductsSection.productName(product.name)}}" stepKey="seeStorefrontDownloadableProductsProductName"/>
<dontSeeElement selector="{{StorefrontCustomerDownloadableProductsSection.downloadableLink}}" stepKey="dontSeeStorefrontMyDownloadableProductsLink"/>

</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,6 @@
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
<section name="StorefrontCustomerDownloadableProductsSection">
<element name="productName" type="text" selector="//table[@id='my-downloadable-products-table']//strong[contains(@class, 'product-name') and normalize-space(.)='{{productName}}']" parameterized="true"/>
<element name="downloadableLink" type="button" selector="//table[@id='my-downloadable-products-table']//a[contains(@class, 'download')]"/>
</section>
</sections>
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
<?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="StorefrontAccountDownloadableProductLinkAfterPartialRefundTest">
<annotations>
<features value="Catalog"/>
<stories value="Customer Account Downloadable Products Link"/>
<title value="My Account Downloadable Product Link after Partially Refunded"/>
<description value="Verify that Downloadable product is not available in My Download Products tab after it has been partially refunded."/>
<severity value="CRITICAL"/>
<group value="Downloadable"/>
</annotations>

<before>
<magentoCLI stepKey="addDownloadableDomain" command="downloadable:domains:add example.com static.magento.com"/>
<magentoCLI command="config:set {{EnableFlatRateConfigData.path}} {{EnableFlatRateConfigData.value}}" stepKey="enableFlatRate"/>

<createData entity="ApiCategory" stepKey="createCategory"/>
<createData entity="ApiSimpleProduct" stepKey="createSimpleProduct">
<requiredEntity createDataKey="createCategory"/>
</createData>
<createData entity="ApiDownloadableProduct" stepKey="createDownloadableProduct"/>
<createData entity="downloadableLink1" stepKey="addDownloadableLink1">
<requiredEntity createDataKey="createDownloadableProduct"/>
</createData>

<magentoCLI command="indexer:reindex" stepKey="reindex"/>
<magentoCLI command="cache:flush" stepKey="flushCache"/>

<createData entity="Simple_US_Customer_Multiple_Addresses" stepKey="createCustomer"/>
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="signIn">
<argument name="Customer" value="$$createCustomer$$"/>
</actionGroup>
</before>

<after>
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="customerLogout"/>

<deleteData createDataKey="createCustomer" stepKey="deleteCustomer"/>
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
<deleteData createDataKey="createSimpleProduct" stepKey="deleteSimpleProduct"/>
<deleteData createDataKey="createDownloadableProduct" stepKey="deleteDownloadableProduct"/>

<magentoCLI stepKey="removeDownloadableDomain" command="downloadable:domains:remove example.com static.magento.com"/>
<magentoCLI command="config:set {{EnableFlatRateConfigData.path}} {{EnableFlatRateConfigData.value}}" stepKey="enableFlatRate"/>
<magentoCLI command="cache:flush" stepKey="flushCache"/>
</after>

<actionGroup ref="StorefrontAddSimpleProductToShoppingCartActionGroup" stepKey="addSimpleProductToCart">
<argument name="product" value="$$createSimpleProduct$$"/>
</actionGroup>

<amOnPage url="{{StorefrontProductPage.url($$createDownloadableProduct.custom_attributes[url_key]$$)}}" stepKey="OpenStoreFrontProductPage"/>
<waitForPageLoad stepKey="waitForPageToLoad"/>

<actionGroup ref="StorefrontAddToCartCustomOptionsProductPageActionGroup" stepKey="addToTheCart">
<argument name="productName" value="$$createDownloadableProduct.name$$"/>
</actionGroup>

<actionGroup ref="ClickViewAndEditCartFromMiniCartActionGroup" stepKey="goToShoppingCartFromMinicart"/>
<click selector="{{CheckoutCartSummarySection.proceedToCheckout}}" stepKey="clickProceedToCheckout"/>
<waitForPageLoad stepKey="waitForProceedToCheckout"/>
<waitForElementVisible selector="{{CheckoutShippingSection.shipHereButton(UK_Not_Default_Address.street[0])}}" stepKey="waitForShipHereVisible"/>
<click selector="{{CheckoutShippingSection.shipHereButton(UK_Not_Default_Address.street[0])}}" stepKey="clickShipHere"/>
<click selector="{{CheckoutShippingGuestInfoSection.next}}" stepKey="clickNext"/>
<waitForPageLoad stepKey="waitForShipmentPageLoad"/>
<checkOption selector="{{CheckoutPaymentSection.billingAddressNotSameCheckbox}}" stepKey="selectPaymentSolution"/>
<waitForElement selector="{{CheckoutPaymentSection.paymentSectionTitle}}" stepKey="waitForPaymentSectionLoaded"/>
<click selector="{{CheckoutPaymentSection.placeOrder}}" stepKey="clickPlaceOrderButton"/>
<seeElement selector="{{CheckoutSuccessMainSection.success}}" stepKey="orderIsSuccessfullyPlaced"/>
<grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber22}}" stepKey="grabOrderNumber"/>

<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>

<amOnPage url="{{AdminOrdersPage.url}}" stepKey="onOrdersPage"/>
<actionGroup ref="SearchAdminDataGridByKeywordActionGroup" stepKey="searchOrder">
<argument name="keyword" value="$grabOrderNumber"/>
</actionGroup>
<actionGroup ref="AdminOrderGridClickFirstRowActionGroup" stepKey="clickOrderRow"/>

<actionGroup ref="AdminCreateInvoiceActionGroup" stepKey="createCreditMemo"/>

<actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrder">
<argument name="orderId" value="{$grabOrderNumber}"/>
</actionGroup>

<actionGroup ref="AdminOpenAndFillCreditMemoRefundActionGroup" stepKey="fillCreditMemoRefund">
<argument name="itemQtyToRefund" value="0"/>
<argument name="rowNumber" value="1"/>
</actionGroup>

<click selector="{{AdminCreditMemoTotalSection.submitRefundOffline}}" stepKey="clickRefundOffline"/>
<waitForPageLoad stepKey="waitForResultPage"/>

<actionGroup ref="StorefrontNotAssertDownloadableProductLinkInCustomerAccountActionGroup" stepKey="dontSeeStorefrontMyAccountDownloadableProductsLink">
<argument name="product" value="$$createDownloadableProduct$$"/>
</actionGroup>

</test>
</tests>

0 comments on commit 1f7eace

Please sign in to comment.