|
| 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 | + |
| 9 | +<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| 10 | + xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd"> |
| 11 | + <test name="AdminCheckZeroSubtotalOrderWithCustomStatus"> |
| 12 | + <annotations> |
| 13 | + <features value="Checkout"/> |
| 14 | + <stories value="Zero Subtotal Checkout Order"/> |
| 15 | + <title value="Zero Subtotal Checkout Order must have the new order status set in configuration." /> |
| 16 | + <description value="Order placed with Zero Subtotal Checkout payment must have the new order status set in configuration."/> |
| 17 | + <testCaseId value="AC-6723"/> |
| 18 | + <useCaseId value="ACP2E-1120"/> |
| 19 | + <severity value="AVERAGE"/> |
| 20 | + <group value="checkout"/> |
| 21 | + </annotations> |
| 22 | + <before> |
| 23 | + <createData entity="SimpleSubCategory" stepKey="simplecategory"/> |
| 24 | + <createData entity="SimpleProduct" stepKey="simpleproduct"> |
| 25 | + <requiredEntity createDataKey="simplecategory"/> |
| 26 | + </createData> |
| 27 | + <createData entity="PaymentMethodsSettingConfig" stepKey="paymentMethodsSettingConfig"/> |
| 28 | + <createData entity="FreeShippingMethodsSettingConfig" stepKey="freeShippingMethodsSettingConfig"/> |
| 29 | + <actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanInvalidatedCaches"> |
| 30 | + <argument name="tags" value="config full_page"/> |
| 31 | + </actionGroup> |
| 32 | + |
| 33 | + <createData entity="ApiSalesRule" stepKey="createCartPriceRule"> |
| 34 | + <field key="discount_amount">100</field> |
| 35 | + </createData> |
| 36 | + <createData entity="ApiSalesRuleCoupon" stepKey="createCartPriceRuleCoupon"> |
| 37 | + <requiredEntity createDataKey="createCartPriceRule"/> |
| 38 | + </createData> |
| 39 | + |
| 40 | + <actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/> |
| 41 | + </before> |
| 42 | + |
| 43 | + <after> |
| 44 | + <deleteData createDataKey="simplecategory" stepKey="deleteCategory"/> |
| 45 | + <deleteData createDataKey="simpleproduct" stepKey="deleteProduct"/> |
| 46 | + <createData entity="DisablePaymentMethodsSettingConfig" stepKey="disablePaymentMethodsSettingConfig"/> |
| 47 | + <createData entity="DefaultShippingMethodsConfig" stepKey="defaultShippingMethodsConfig"/> |
| 48 | + <createData entity="DisableFreeShippingConfig" stepKey="disableFreeShippingConfig"/> |
| 49 | + <deleteData createDataKey="createCartPriceRule" stepKey="deleteSalesRule"/> |
| 50 | + <actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindex"> |
| 51 | + <argument name="indices" value=""/> |
| 52 | + </actionGroup> |
| 53 | + <actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanInvalidatedCaches"> |
| 54 | + <argument name="tags" value="config full_page"/> |
| 55 | + </actionGroup> |
| 56 | + <actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/> |
| 57 | + </after> |
| 58 | + |
| 59 | + <!-- Go to new order status page --> |
| 60 | + <actionGroup ref="AdminGoToOrderStatusPageActionGroup" stepKey="goToOrderStatusPage"/> |
| 61 | + <actionGroup ref="AdminClickCreateNewStatusButtonOnOrderStatusPageActionGroup" stepKey="clickCreateNewStatus"/> |
| 62 | + |
| 63 | + <!-- Fill the form and validate message --> |
| 64 | + <actionGroup ref="AdminOrderStatusFormFillAndSave" stepKey="fillFormAndClickSave"> |
| 65 | + <argument name="status" value="{{EnableFreeOrderStatusCustom.value}}"/> |
| 66 | + <argument name="label" value="{{EnableFreeOrderStatusCustom.label}}"/> |
| 67 | + </actionGroup> |
| 68 | + <actionGroup ref="AssertOrderStatusFormSaveSuccess" stepKey="seeFormSaveSuccess"/> |
| 69 | + |
| 70 | + <!-- Verify the order status grid page shows the order status we just created --> |
| 71 | + <actionGroup ref="AssertOrderStatusExistsInGrid" stepKey="searchCreatedOrderStatus"> |
| 72 | + <argument name="status" value="{{EnableFreeOrderStatusCustom.value}}"/> |
| 73 | + <argument name="label" value="{{EnableFreeOrderStatusCustom.label}}"/> |
| 74 | + </actionGroup> |
| 75 | + |
| 76 | + <!-- Assign status to state --> |
| 77 | + <click selector="{{AdminOrderStatusGridSection.assignStatusToStateBtn}}" stepKey="clickAssignStatusBtn"/> |
| 78 | + <selectOption selector="{{AdminAssignOrderStatusToStateSection.orderStatus}}" userInput="{{EnableFreeOrderStatusCustom.value}}" stepKey="selectOrderStatus"/> |
| 79 | + <selectOption selector="{{AdminAssignOrderStatusToStateSection.orderState}}" userInput="{{OrderState.new}}" stepKey="selectOrderState"/> |
| 80 | + <checkOption selector="{{AdminAssignOrderStatusToStateSection.orderStatusAsDefault}}" stepKey="orderStatusAsDefault"/> |
| 81 | + <uncheckOption selector="{{AdminAssignOrderStatusToStateSection.visibleOnStorefront}}" stepKey="visibleOnStorefront"/> |
| 82 | + <click selector="{{AdminAssignOrderStatusToStateSection.saveStatusAssignment}}" stepKey="clickSaveStatus"/> |
| 83 | + <see selector="{{AdminMessagesSection.success}}" userInput="You assigned the order status." stepKey="seeSuccess"/> |
| 84 | + |
| 85 | + <!-- Prepare data for constraints --> |
| 86 | + <magentoCLI command="config:set {{EnableFreeOrderStatusCustom.path}} {{EnableFreeOrderStatusCustom.value}}" stepKey="enableNewOrderStatus"/> |
| 87 | + <magentoCLI command="config:set {{EnableFreeOrderPaymentAction.path}} {{EnableFreeOrderPaymentAction.value}}" stepKey="enableNewOrderPaymentAction"/> |
| 88 | + <actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanInvalidatedCaches"> |
| 89 | + <argument name="tags" value="config full_page"/> |
| 90 | + </actionGroup> |
| 91 | + |
| 92 | + <!-- Add product to cart and place order --> |
| 93 | + <actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="AddProductToCard"> |
| 94 | + <argument name="product" value="$$simpleproduct$$"/> |
| 95 | + </actionGroup> |
| 96 | + |
| 97 | + <actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="clickToProceedToCheckout"/> |
| 98 | + |
| 99 | + <actionGroup ref="ShipmentFormFreeShippingActionGroup" stepKey="shipmentFormFreeShippingActionGroup"/> |
| 100 | + |
| 101 | + <actionGroup ref="StorefrontApplyDiscountCodeActionGroup" stepKey="applyDiscountCoupon"> |
| 102 | + <argument name="discountCode" value="$createCartPriceRuleCoupon.code$"/> |
| 103 | + </actionGroup> |
| 104 | + |
| 105 | + <actionGroup ref="ClickPlaceOrderActionGroup" stepKey="clickPlaceOrder"/> |
| 106 | + <grabTextFrom selector="{{CheckoutSuccessMainSection.orderNumber}}" stepKey="grabOrderNumber"/> |
| 107 | + |
| 108 | + <!-- Go to admin and check order status --> |
| 109 | + <actionGroup ref="AdminOrdersPageOpenActionGroup" stepKey="navigateToSalesOrderPage"/> |
| 110 | + <actionGroup ref="SearchAdminDataGridByKeywordActionGroup" stepKey="searchForOrder"> |
| 111 | + <argument name="keyword" value="{$grabOrderNumber}"/> |
| 112 | + </actionGroup> |
| 113 | + |
| 114 | + <actionGroup ref="AdminCheckOrderStatusInGridActionGroup" stepKey="seeOrderStatusInGrid"> |
| 115 | + <argument name="orderId" value="$grabOrderNumber"/> |
| 116 | + <argument name="status" value="{{EnableFreeOrderStatusCustom.label}}"/> |
| 117 | + </actionGroup> |
| 118 | + |
| 119 | + <!-- Open order --> |
| 120 | + <actionGroup ref="OpenOrderByIdActionGroup" stepKey="openOrder"> |
| 121 | + <argument name="orderId" value="{$grabOrderNumber}"/> |
| 122 | + </actionGroup> |
| 123 | + |
| 124 | + <!-- Assert invoice button --> |
| 125 | + <seeElement selector="{{AdminOrderDetailsMainActionsSection.invoiceBtn}}" stepKey="seeInvoiceBtn"/> |
| 126 | + |
| 127 | + </test> |
| 128 | +</tests> |
0 commit comments