Skip to content

Commit d8fc6d9

Browse files
authored
Merge branch '2.4-develop' into patch-16
2 parents ad313a6 + 2ad9f14 commit d8fc6d9

File tree

85 files changed

+1752
-373
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+1752
-373
lines changed

app/code/Magento/Backend/Block/Menu.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
class Menu extends \Magento\Backend\Block\Template
2020
{
21-
const CACHE_TAGS = 'BACKEND_MAINMENU';
21+
public const CACHE_TAGS = 'BACKEND_MAINMENU';
2222

2323
/**
2424
* @var string
@@ -347,6 +347,11 @@ protected function _columnBrake($items, $limit)
347347
}
348348
$result[] = ['place' => $place, 'colbrake' => $colbrake];
349349
}
350+
351+
if (isset($result[1]) && $result[1]['colbrake'] === true && isset($result[2])) {
352+
$result[2]['colbrake'] = true;
353+
}
354+
350355
return $result;
351356
}
352357

app/code/Magento/Backend/Console/Command/CacheCleanCommand.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
class CacheCleanCommand extends AbstractCacheTypeManageCommand
1616
{
1717
/**
18-
* {@inheritdoc}
18+
* @inheritdoc
1919
*/
2020
protected function configure()
2121
{
@@ -32,12 +32,15 @@ protected function configure()
3232
*/
3333
protected function performAction(array $cacheTypes)
3434
{
35-
$this->eventManager->dispatch('adminhtml_cache_flush_system');
35+
if ($cacheTypes === [] || in_array('full_page', $cacheTypes)) {
36+
$this->eventManager->dispatch('adminhtml_cache_flush_system');
37+
}
38+
3639
$this->cacheManager->clean($cacheTypes);
3740
}
3841

3942
/**
40-
* {@inheritdoc}
43+
* @inheritdoc
4144
*/
4245
protected function getDisplayMessage()
4346
{

app/code/Magento/Backend/Console/Command/CacheFlushCommand.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
class CacheFlushCommand extends AbstractCacheTypeManageCommand
1616
{
1717
/**
18-
* {@inheritdoc}
18+
* @inheritdoc
1919
*/
2020
protected function configure()
2121
{
@@ -32,12 +32,15 @@ protected function configure()
3232
*/
3333
protected function performAction(array $cacheTypes)
3434
{
35-
$this->eventManager->dispatch('adminhtml_cache_flush_all');
35+
if ($cacheTypes === [] || in_array('full_page', $cacheTypes)) {
36+
$this->eventManager->dispatch('adminhtml_cache_flush_all');
37+
}
38+
3639
$this->cacheManager->flush($cacheTypes);
3740
}
3841

3942
/**
40-
* {@inheritdoc}
43+
* @inheritdoc
4144
*/
4245
protected function getDisplayMessage()
4346
{

app/code/Magento/Backend/Test/Unit/Console/Command/AbstractCacheManageCommandTest.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,22 @@ public function executeDataProvider()
3535
return [
3636
'implicit all' => [
3737
[],
38-
['A', 'B', 'C'],
39-
$this->getExpectedExecutionOutput(['A', 'B', 'C']),
38+
['A', 'B', 'C', 'full_page'],
39+
true,
40+
$this->getExpectedExecutionOutput(['A', 'B', 'C', 'full_page']),
4041
],
4142
'specified types' => [
4243
['types' => ['A', 'B']],
4344
['A', 'B'],
45+
false,
4446
$this->getExpectedExecutionOutput(['A', 'B']),
4547
],
48+
'fpc_only' => [
49+
['types' => ['full_page']],
50+
['full_page'],
51+
true,
52+
$this->getExpectedExecutionOutput(['full_page']),
53+
],
4654
];
4755
}
4856

app/code/Magento/Backend/Test/Unit/Console/Command/CacheCleanCommandTest.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,22 @@ protected function setUp(): void
2222
/**
2323
* @param array $param
2424
* @param array $types
25+
* @param bool $shouldDispatch
2526
* @param string $output
2627
* @dataProvider executeDataProvider
2728
*/
28-
public function testExecute($param, $types, $output)
29+
public function testExecute($param, $types, $shouldDispatch, $output)
2930
{
30-
$this->cacheManagerMock->expects($this->once())->method('getAvailableTypes')->willReturn(['A', 'B', 'C']);
31+
$this->cacheManagerMock->expects($this->once())->method('getAvailableTypes')->willReturn([
32+
'A', 'B', 'C', 'full_page'
33+
]);
3134
$this->cacheManagerMock->expects($this->once())->method('clean')->with($types);
32-
$this->eventManagerMock->expects($this->once())->method('dispatch')->with($this->cacheEventName);
35+
36+
if ($shouldDispatch) {
37+
$this->eventManagerMock->expects($this->once())->method('dispatch')->with($this->cacheEventName);
38+
} else {
39+
$this->eventManagerMock->expects($this->never())->method('dispatch');
40+
}
3341

3442
$commandTester = new CommandTester($this->command);
3543
$commandTester->execute($param);

app/code/Magento/Backend/Test/Unit/Console/Command/CacheFlushCommandTest.php

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,22 @@ protected function setUp(): void
2222
/**
2323
* @param array $param
2424
* @param array $types
25+
* @param bool $shouldDispatch
2526
* @param string $output
2627
* @dataProvider executeDataProvider
2728
*/
28-
public function testExecute($param, $types, $output)
29+
public function testExecute($param, $types, $shouldDispatch, $output)
2930
{
30-
$this->cacheManagerMock->expects($this->once())->method('getAvailableTypes')->willReturn(['A', 'B', 'C']);
31+
$this->cacheManagerMock->expects($this->once())->method('getAvailableTypes')->willReturn([
32+
'A', 'B', 'C', 'full_page'
33+
]);
3134
$this->cacheManagerMock->expects($this->once())->method('flush')->with($types);
32-
$this->eventManagerMock->expects($this->once())->method('dispatch')->with($this->cacheEventName);
35+
36+
if ($shouldDispatch) {
37+
$this->eventManagerMock->expects($this->once())->method('dispatch')->with($this->cacheEventName);
38+
} else {
39+
$this->eventManagerMock->expects($this->never())->method('dispatch');
40+
}
3341

3442
$commandTester = new CommandTester($this->command);
3543
$commandTester->execute($param);

app/code/Magento/Bundle/Test/Mftf/Test/AdminBundleDynamicAttributesAfterMassUpdateTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<argument name="consumerName" value="{{AdminProductAttributeUpdateConsumerData.consumerName}}"/>
4848
<argument name="maxMessages" value="{{AdminProductAttributeUpdateConsumerData.messageLimit}}"/>
4949
</actionGroup>
50-
<magentoCron stepKey="runCron"/>
50+
<magentoCron groups="default" stepKey="runCron"/>
5151

5252
<actionGroup ref="OpenProductForEditByClickingRowXColumnYInProductGridActionGroup" stepKey="openProductForEdit"/>
5353

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AddCostPriceToProductActionGroup">
12+
<annotations>
13+
<description>Sets the provided Cost Price on the Admin Product creation/edit page.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="price" type="string" defaultValue="10"/>
17+
</arguments>
18+
19+
<waitForPageLoad stepKey="waitForPageLoad"/>
20+
<click selector="{{AdminProductFormSection.advancedPricingLink}}" stepKey="clickAdvancedPricingLink"/>
21+
<waitForPageLoad stepKey="waitForAdvancedPricingModal"/>
22+
<waitForElementVisible selector="{{AdminProductFormCostPricingSection.costPrice}}" stepKey="waitCostPrice"/>
23+
<fillField userInput="{{price}}" selector="{{AdminProductFormCostPricingSection.costPrice}}" stepKey="fillCostPrice"/>
24+
<click selector="{{AdminProductFormAdvancedPricingSection.doneButton}}" stepKey="clickDone"/>
25+
<waitForPageLoad stepKey="waitForAdvancedPricingModalGone"/>
26+
<dontSeeElement selector="{{AdminProductFormAdvancedPricingSection.advancedPricingCloseButton}}" stepKey="clickAdvancedPricingCloseButton"/>
27+
</actionGroup>
28+
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Data/ProductData.xml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1488,4 +1488,35 @@
14881488
<data key="name">Simple Product with special characters in SKU</data>
14891489
<data key="sku">s000&amp;01</data>
14901490
</entity>
1491+
<entity name="simpleProductwithTaxNone" type="product">
1492+
<data key="name" unique="suffix">Product1</data>
1493+
<data key="sku" unique="suffix">product-1</data>
1494+
<data key="urlKey" unique="suffix">product1</data>
1495+
<data key="price">200.00</data>
1496+
<data key="quantity">100</data>
1497+
<data key="status">1</data>
1498+
<data key="cost">150.00</data>
1499+
<data key="productTaxClass">None</data>
1500+
<data key="type_id">simple</data>
1501+
<data key="attribute_set_id">4</data>
1502+
<data key="weight">1</data>
1503+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
1504+
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
1505+
</entity>
1506+
<entity name="simpleProductwithTaxGoods" type="product">
1507+
<data key="urlKey" unique="suffix">product2</data>
1508+
<data key="name" unique="suffix">Product2</data>
1509+
<data key="sku" unique="suffix">product-2</data>
1510+
<data key="price">300.00</data>
1511+
<data key="quantity">300</data>
1512+
<data key="status">1</data>
1513+
<data key="storefrontStatus">IN STOCK</data>
1514+
<data key="cost">250.00</data>
1515+
<data key="productTaxClass">Taxable Goods</data>
1516+
<data key="type_id">simple</data>
1517+
<data key="attribute_set_id">4</data>
1518+
<data key="weight">1</data>
1519+
<requiredEntity type="product_extension_attribute">EavStockItem</requiredEntity>
1520+
<requiredEntity type="custom_attribute_array">CustomAttributeCategoryIds</requiredEntity>
1521+
</entity>
14911522
</entities>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="AdminProductFormCostPricingSection">
11+
<element name="costPrice" type="input" selector="input[name='product[cost]']"/>
12+
<element name="doneButton" type="button" selector=".product_form_product_form_advanced_pricing_modal button.action-primary" timeout="30"/>
13+
</section>
14+
</sections>

app/code/Magento/Catalog/Test/Mftf/Section/AdminProductGridSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
<element name="priceForGiftsWrapping" type="input" selector="//input[@name='product[gift_wrapping_price]']"/>
4747
<element name="productCollapsibleColumnsScheduleUpdate" type="button" selector="//div[@class='modal-component']//div[@class='entry-edit form-inline']//div[@data-state-collapsible='{{state}}']//strong[@class='admin__collapsible-title']//span[text()='{{expandTitle}}']" parameterized="true"/>
4848
<element name="allowGiftMessageToggleVerify" type="button" selector="//input[@type='checkbox' and @name='product[gift_message_available]' and @value='{{var1}}']" parameterized="true"/>
49+
<element name="headerNameAndValueOtherCurrency" type="text" selector="//span[@class='data-grid-cell-content' and contains(text(), '{{gridName}}')]/ancestor::thead/following-sibling::tbody//div[@class = 'data-grid-cell-content' and contains(text(),'{{currencyNumber}}')]" parameterized="true"/>
4950
</section>
5051
</sections>
5152

app/code/Magento/Catalog/Test/Mftf/Section/StorefrontCategoryMainSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,6 @@
4545
<element name="productAttributeOptionValue" type="button" selector="//div[@id='narrow-by-list']//a[contains(text(), '{{var1}}')]" parameterized="true"/>
4646
<element name="outOfStockProductCategoryPage" type="text" selector="//div[@class='stock unavailable']//span[text()='Out of stock']"/>
4747
<element name="ListedProductAttributes" type="block" selector="//div[@aria-label='{{vs_attribute}}']//div[@aria-label='{{attribute_name}}']" parameterized="true"/>
48+
<element name="quickOrderLink" type="text" selector="//div[@class='panel header']//a[text()='Quick Order']" />
4849
</section>
4950
</sections>

app/code/Magento/Catalog/Test/Mftf/Test/StorefrontVerifyProductAfterPartialReindexOnSeveralWebsitesTest.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,11 @@
8787
<argument name="productName" value="{{_defaultProduct.name}}"/>
8888
</actionGroup>
8989

90-
<!-- Run cron -->
91-
<magentoCron stepKey="runCron" />
92-
<magentoCron stepKey="runCronTwice" />
90+
<!-- We need the 'indexer_update_all_views' job to run. This is the best
91+
way we can make that happen, but there is no guarantee that there is
92+
such a job already scheduled in the queue. -->
93+
<magentoCron groups="index" stepKey="runCron" />
94+
<comment userInput="We need the indexer_update_all_views job to run" stepKey="runCronTwice"/>
9395

9496
<!-- Check product is present in category after cron run -->
9597
<actionGroup ref="AssertProductInStorefrontCategoryPage" stepKey="assertProductInStorefront1">

app/code/Magento/Checkout/Test/Mftf/Section/CheckoutPaymentSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
<element name="billingAddressSameAsShippingCashOnDeliveryCheckbox" type="checkbox" selector="#billing-address-same-as-shipping-cashondelivery"/>
7676
<element name="errormessage" type="text" selector="//div[@data-ui-id='checkout-cart-validationmessages-message-error']"/>
7777
<element name="productQuantityInCartBlock" type="text" selector="//div[@class='details-qty']/span[@class='value']" />
78+
<element name="productChargedFor" type="text" selector="tr.totals.charge span.price"/>
7879
<element name="customerAddressAttribute" type="input" selector="//div[@name='billingAddresscheckmo.custom_attributes.{{attribute}}']//input[@name='custom_attributes[{{attribute}}]']" parameterized="true" timeout="30"/>
7980
</section>
8081
</sections>

app/code/Magento/Checkout/Test/Mftf/Test/StorefrontUKCustomerCheckoutWithCouponTest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
<!-- Click and open order summary tab-->
9595
<conditionalClick selector="{{CheckoutOrderSummarySection.miniCartTab}}" dependentSelector="{{CheckoutOrderSummarySection.miniCartTabClosed}}" visible="true" stepKey="clickOnOrderSummaryTab"/>
9696
<waitForPageLoad stepKey="waitForPageToLoad5"/>
97-
97+
<actionGroup ref="CheckoutSelectCheckMoneyOrderPaymentActionGroup" stepKey="selectPaymentMethod"/>
9898
<!-- Assert Product displayed in Order Summary -->
9999
<actionGroup ref="StorefrontAssertProductDetailsInOrderSummaryActionGroup" stepKey="assertProduct3InOrderSummary">
100100
<argument name="productName" value="$$virtualProduct.name$$"/>
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+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="ResetCalculationClassForShippingActionGroup">
12+
<annotations>
13+
<description>Goes to the 'Configuration' page for 'Tax Calculation Method Based On'. Sets 'Unit Price' to 'Total'. Clicks on the Save button. PLEASE NOTE: The value is Hardcoded.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="taxCalculationMethod" type="string" defaultValue="Total"/>
17+
</arguments>
18+
19+
<amOnPage url="{{AdminSalesTaxClassPage.url}}" stepKey="navigateToSalesTaxConfigPagetoReset"/>
20+
<waitForPageLoad stepKey="waitForPageLoad"/>
21+
<click selector="{{AdminConfigureTaxSection.taxCalculationSettings}}" stepKey="openTaxCalculationSettingsSection"/>
22+
<waitForElementVisible selector="{{AdminConfigureTaxSection.taxCalculationAlgorithmInherit}}" stepKey="seeShippingTaxClass"/>
23+
<checkOption selector="{{AdminConfigureTaxSection.taxCalculationAlgorithmInherit}}" stepKey="uncheckUseSystemValue"/>
24+
<selectOption selector="{{AdminConfigureTaxSection.taxCalculationAlgorithm}}" userInput="{{taxCalculationMethod}}" stepKey="setShippingTaxClass"/>
25+
<click selector="{{AdminConfigureTaxSection.save}}" stepKey="saveConfig"/>
26+
<waitForPageLoad stepKey="waitForConfigSaved"/>
27+
<click selector="{{AdminConfigureTaxSection.taxCalculationSettingsOpened}}" stepKey="closeTaxCalcSettingsSection"/>
28+
<waitForText selector="{{AdminMessagesSection.success}}" userInput="You saved the configuration." stepKey="seeSuccess"/>
29+
</actionGroup>
30+
</actionGroups>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="ResetIncludeTaxInTotalForShippingActionGroup">
12+
<annotations>
13+
<description>Goes to the 'Configuration' page for 'Orders, Invoices, Credit Memos Display Settings'. Sets 'Yes' to 'No'. Clicks on the Save button. PLEASE NOTE: The value is Hardcoded.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="showOrderTotalWithoutTax" type="string" defaultValue="No"/>
17+
<argument name="displayFullTax" type="string" defaultValue="No"/>
18+
<argument name="displayZeroTax" type="string" defaultValue="No"/>
19+
</arguments>
20+
<amOnPage url="{{AdminSalesTaxClassPage.url}}" stepKey="navigateToSalesTaxPage"/>
21+
<waitForPageLoad stepKey="waitForPageLoad"/>
22+
<click selector="{{AdminConfigureTaxSection.ordersInvoicesCreditSales}}" stepKey="openOrdersInvoicesCreditSales"/>
23+
<waitForElementVisible selector="{{AdminConfigureTaxSection.taxSalesDisplaySubtotal}}" stepKey="taxSalesDisplaySubtotal"/>
24+
<checkOption selector="{{AdminConfigureTaxSection.taxSalesDisplaySubtotal}}" stepKey="displaySubtotalUncheckUseSystemValue"/>
25+
<selectOption selector="{{AdminConfigureTaxSection.taxSalesDisplayGrandTotal}}" userInput="{{showOrderTotalWithoutTax}}" stepKey="setTaxSalesDisplayGrandTotal"/>
26+
<checkOption selector="{{AdminConfigureTaxSection.taxSalesDisplayFullSummaryInherit}}" stepKey="displayFullSummaryuncheckUseSystemValue"/>
27+
<selectOption selector="{{AdminConfigureTaxSection.taxSalesDisplayFullSummary}}" userInput="{{displayFullTax}}" stepKey="setTaxSalesDisplayFullSummary"/>
28+
<checkOption selector="{{AdminConfigureTaxSection.taxSalesDisplayZeroTaxInherit}}" stepKey="zeroTaxUncheckUseSystemValue"/>
29+
<selectOption selector="{{AdminConfigureTaxSection.taxSalesDisplayZeroTax}}" userInput="{{displayZeroTax}}" stepKey="settaxSalesDisplayZeroTax"/>
30+
<click selector="{{AdminConfigureTaxSection.save}}" stepKey="saveConfig"/>
31+
<waitForPageLoad stepKey="waitForConfigSaved"/>
32+
<click selector="{{AdminConfigureTaxSection.taxSalesDisplayHeadOpen}}" stepKey="taxSalesDisplayHeadClosed"/>
33+
<waitForText selector="{{AdminMessagesSection.success}}" userInput="You saved the configuration." stepKey="seeSuccess"/>
34+
</actionGroup>
35+
</actionGroups>
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="ResetOrderInvoiceSettingsForShippingActionGroup">
12+
<annotations>
13+
<description>Goes to the 'Configuration' page for 'Orders, Invoices, Credit Memos Display Settings'. Sets 'Display Subtotal' to 'Excluding Tax'. Clicks on the Save button. PLEASE NOTE: The value is Hardcoded.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="taxCalculationMethod" type="string" defaultValue="Including and Excluding Tax"/>
17+
</arguments>
18+
<amOnPage url="{{AdminSalesTaxClassPage.url}}" stepKey="navigateToSalesTaxPage"/>
19+
<waitForPageLoad stepKey="waitForPageLoad"/>
20+
<click selector="{{AdminConfigureTaxSection.ordersInvoicesCreditSales}}" stepKey="openOrdersInvoicesCreditSales"/>
21+
<waitForElementVisible selector="{{AdminConfigureTaxSection.orderInvoiceSubtotalInherit}}" stepKey="seeShippingTaxClass"/>
22+
<checkOption selector="{{AdminConfigureTaxSection.orderInvoiceSubtotalInherit}}" stepKey="uncheckUseSystemValue"/>
23+
<selectOption selector="{{AdminConfigureTaxSection.orderInvoiceDisplaySubtotal}}" userInput="{{taxCalculationMethod}}" stepKey="setShippingTaxClass"/>
24+
<click selector="{{AdminConfigureTaxSection.save}}" stepKey="saveConfig"/>
25+
<waitForPageLoad stepKey="waitForConfigSaved"/>
26+
<click selector="{{AdminConfigureTaxSection.taxSalesDisplayHeadOpen}}" stepKey="taxSalesDisplayHeadClosed"/>
27+
<waitForText selector="{{AdminMessagesSection.success}}" userInput="You saved the configuration." stepKey="seeSuccess"/>
28+
</actionGroup>
29+
</actionGroups>

0 commit comments

Comments
 (0)