Skip to content

Commit 3e494de

Browse files
authored
Merge branch '2.4-develop' into patch-6
2 parents cc12a55 + 28c7f79 commit 3e494de

File tree

8 files changed

+431
-94
lines changed

8 files changed

+431
-94
lines changed

app/code/Magento/Analytics/Test/Mftf/ActionGroup/AssertAdminAdvancedReportingPageUrlActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515

1616
<switchToNextTab stepKey="switchToNewTab"/>
1717
<waitForPageLoad stepKey="waitForAdvancedReportingPageLoad"/>
18-
<seeInCurrentUrl url="reports/advanced-reporting" stepKey="seeAssertAdvancedReportingPageUrl"/>
18+
<seeInCurrentUrl url="report" stepKey="seeAssertAdvancedReportingPageUrl"/>
1919
</actionGroup>
2020
</actionGroups>

app/code/Magento/Config/Model/Config/Backend/Currency/Cron.php

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
*/
1010
namespace Magento\Config\Model\Config\Backend\Currency;
1111

12+
use Magento\Framework\Exception\LocalizedException;
13+
1214
/**
1315
* Cron job configuration for currency
1416
*
@@ -17,8 +19,7 @@
1719
*/
1820
class Cron extends \Magento\Framework\App\Config\Value
1921
{
20-
const CRON_STRING_PATH = 'crontab/default/jobs/currency_rates_update/schedule/cron_expr';
21-
22+
public const CRON_STRING_PATH = 'crontab/default/jobs/currency_rates_update/schedule/cron_expr';
2223
/**
2324
* @var \Magento\Framework\App\Config\ValueFactory
2425
*/
@@ -52,13 +53,28 @@ public function __construct(
5253
* After save handler
5354
*
5455
* @return $this
55-
* @throws \Exception
56+
* @throws LocalizedException
5657
*/
5758
public function afterSave()
5859
{
5960
$time = $this->getData('groups/import/fields/time/value');
60-
$frequency = $this->getData('groups/import/fields/frequency/value');
61-
61+
if (empty($time)) {
62+
$time = explode(
63+
',',
64+
$this->_config->getValue(
65+
'currency/import/time',
66+
$this->getScope(),
67+
$this->getScopeId()
68+
) ?: '0,0,0'
69+
);
70+
$frequency = $this->_config->getValue(
71+
'currency/import/frequency',
72+
$this->getScope(),
73+
$this->getScopeId()
74+
);
75+
} else {
76+
$frequency = $this->getData('groups/import/fields/frequency/value');
77+
}
6278
$frequencyWeekly = \Magento\Cron\Model\Config\Source\Frequency::CRON_WEEKLY;
6379
$frequencyMonthly = \Magento\Cron\Model\Config\Source\Frequency::CRON_MONTHLY;
6480

@@ -78,7 +94,7 @@ public function afterSave()
7894
$configValue->load(self::CRON_STRING_PATH, 'path');
7995
$configValue->setValue($cronExprString)->setPath(self::CRON_STRING_PATH)->save();
8096
} catch (\Exception $e) {
81-
throw new \Exception(__('We can\'t save the Cron expression.'));
97+
throw new LocalizedException(__('We can\'t save the Cron expression.'));
8298
}
8399
return parent::afterSave();
84100
}

app/code/Magento/Sales/Test/Mftf/Section/AdminOrderFormItemsSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,7 @@
3636
<element name="couponCode" type="input" selector="#order-coupons input" timeout="30"/>
3737
<element name="applyCoupon" type="button" selector="#order-coupons button"/>
3838
<element name="removeCoupon" type="button" selector=".added-coupon-code .action-remove"/>
39+
<element name="totalRecords" type="text" selector="#sales_order_create_search_grid-total-count"/>
40+
<element name="numberOfPages" type="text" selector="div.admin__data-grid-pager-wrap div.admin__data-grid-pager > label"/>
3941
</section>
4042
</sections>
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
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="AdminCreateOrderWithLimitedNumberOfProductsInGridTest">
12+
<annotations>
13+
<features value="Sales"/>
14+
<stories value="Limit number of products in grid during order creation"/>
15+
<title value="Limit total number of products in grid collection during order creation"/>
16+
<description value="Verify that total number of products in grid collection can be limited during order creation"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="ACPT-706"/>
19+
<group value="Sales"/>
20+
</annotations>
21+
22+
<before>
23+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
24+
<actionGroup ref="DeleteAllProductsUsingProductGridActionGroup" stepKey="deleteAllProducts"/>
25+
<magentoCLI stepKey="enableLimitNumberOfProductsInGrid" command="config:set admin/grid/limit_total_number_of_products 1"/>
26+
<magentoCLI stepKey="setCustomRecordsLimit" command="config:set admin/grid/records_limit 2"/>
27+
<createData entity="SimpleProduct" stepKey="createSimpleProduct1"/>
28+
<createData entity="SimpleProduct2" stepKey="createSimpleProduct2"/>
29+
<createData entity="FlatRateShippingMethodDefault" stepKey="setDefaultFlatRateShippingMethod"/>
30+
<createData entity="CashOnDeliveryPaymentMethodDefault" stepKey="cashOnDeliveryPaymentMethod"/>
31+
<createData entity="Simple_US_Customer_CA" stepKey="simpleCustomer"/>
32+
</before>
33+
34+
<after>
35+
<magentoCLI stepKey="disableLimitNumberOfProductsInGrid" command="config:set admin/grid/limit_total_number_of_products 0"/>
36+
<magentoCLI stepKey="setDefaultRecordsLimit" command="config:set admin/grid/records_limit 20000"/>
37+
<deleteData createDataKey="createSimpleProduct1" stepKey="deleteSimpleProduct1"/>
38+
<deleteData createDataKey="createSimpleProduct2" stepKey="deleteSimpleProduct2"/>
39+
<magentoCLI command="config:set payment/cashondelivery/active 0" stepKey="disableCashOnDeliveryMethod"/>
40+
<deleteData createDataKey="simpleCustomer" stepKey="deleteSimpleCustomer"/>
41+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
42+
</after>
43+
44+
<!-- Start Order Creation -->
45+
<actionGroup ref="NavigateToNewOrderPageExistingCustomerActionGroup" stepKey="navigateToNewOrderWithExistingCustomer">
46+
<argument name="customer" value="$$simpleCustomer$$"/>
47+
</actionGroup>
48+
49+
<!-- Click Add Products button to open products grid-->
50+
<click selector="{{AdminOrderFormItemsSection.addProducts}}" stepKey="clickAddProducts"/>
51+
52+
<!-- Check that number of records and pagination is not displayed because number of products equal or greater than limit -->
53+
<dontSee userInput="2" selector="{{AdminOrderFormItemsSection.totalRecords}}" stepKey="dontSeeRecords"/>
54+
<dontSee userInput="1" selector="{{AdminOrderFormItemsSection.numberOfPages}}" stepKey="dontSeeCurrentPageFound"/>
55+
56+
<!-- Search for the SimpleProduct1 using grid filter -->
57+
<fillField selector="{{AdminOrderFormItemsSection.skuFilter}}" userInput="{{SimpleProduct.sku}}" stepKey="fillSkuFilter"/>
58+
<click selector="{{AdminOrderFormItemsSection.search}}" stepKey="clickSearch"/>
59+
60+
<!-- Check that 1 record found and pagination is displayed because number of filtered products is less than limit -->
61+
<see userInput="1" selector="{{AdminOrderFormItemsSection.totalRecords}}" stepKey="seeRecords"/>
62+
<see userInput="1" selector="{{AdminOrderFormItemsSection.numberOfPages}}" stepKey="SeeCurrentPageFound"/>
63+
64+
<!-- Add SimpleProduct1 to the order -->
65+
<scrollTo selector="{{AdminOrderFormItemsSection.rowCheck('1')}}" x="0" y="-100" stepKey="scrollToCheckColumn"/>
66+
<checkOption selector="{{AdminOrderFormItemsSection.rowCheck('1')}}" stepKey="selectProduct"/>
67+
<waitForPageLoad stepKey="waitForProductLoad"/>
68+
<fillField selector="{{AdminOrderFormItemsSection.rowQty('1')}}" userInput="{{SimpleProduct.quantity}}" stepKey="fillProductQty"/>
69+
<scrollTo selector="{{AdminOrderFormItemsSection.addSelected}}" x="0" y="-100" stepKey="scrollToAddSelectedButton"/>
70+
<click selector="{{AdminOrderFormItemsSection.addSelected}}" stepKey="clickAddSelectedProducts"/>
71+
<waitForPageLoad stepKey="waitForOptionsToLoad"/>
72+
73+
<!-- Select payment method, shipping method and place order -->
74+
<actionGroup ref="SelectCashOnDeliveryPaymentMethodActionGroup" stepKey="selectPaymentMethod"/>
75+
<actionGroup ref="OrderSelectFlatRateShippingActionGroup" stepKey="orderSelectFlatRateShippingMethod"/>
76+
<actionGroup ref="AdminSubmitOrderActionGroup" stepKey="submitOrder"/>
77+
<actionGroup ref="VerifyCreatedOrderInformationActionGroup" stepKey="verifyCreatedOrderInformation"/>
78+
<comment userInput="BIC workaround" stepKey="getOrderId"/>
79+
<grabTextFrom selector="|Order # (\d+)|" stepKey="orderNumber"/>
80+
<grabFromCurrentUrl regex="~/order_id/(\d+)/~" stepKey="orderId"/>
81+
<actionGroup ref="AdminOpenOrderByEntityIdActionGroup" stepKey="openOrder">
82+
<argument name="entityId" value="{$orderId}"/>
83+
</actionGroup>
84+
85+
<!-- Create a shipment for placed order -->
86+
<click selector="{{AdminOrderDetailsMainActionsSection.ship}}" stepKey="clickShipAction"/>
87+
<click selector="{{AdminShipmentMainActionsSection.submitShipment}}" stepKey="clickSubmitShipment"/>
88+
89+
<!-- Check that SimpleProduct1 has become out of stock after shipment -->
90+
<actionGroup ref="AssertAdminProductStockStatusActionGroup" stepKey="checkProductStockStatus">
91+
<argument name="productId" value="$$createSimpleProduct1.id$$"/>
92+
<argument name="stockStatus" value="Out of Stock"/>
93+
</actionGroup>
94+
95+
<!-- Increase records limit -->
96+
<magentoCLI stepKey="setCustomRecordsLimit" command="config:set admin/grid/records_limit 3"/>
97+
98+
<!-- Start order creation again -->
99+
<actionGroup ref="NavigateToNewOrderPageExistingCustomerActionGroup" stepKey="navigateToNewOrderWithExistingCustomer2">
100+
<argument name="customer" value="$$simpleCustomer$$"/>
101+
</actionGroup>
102+
103+
<!-- Click Add Products button to open products grid-->
104+
<click selector="{{AdminOrderFormItemsSection.addProducts}}" stepKey="clickAddProducts2"/>
105+
106+
<!-- Check that 2 records found and pagination is displayed because number of products is less than limit -->
107+
<see userInput="2" selector="{{AdminOrderFormItemsSection.totalRecords}}" stepKey="seeRecords2"/>
108+
<see userInput="1" selector="{{AdminOrderFormItemsSection.numberOfPages}}" stepKey="SeeCurrentPageFound2"/>
109+
</test>
110+
</tests>

composer.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"colinmollenhour/cache-backend-redis": "1.14.2",
3939
"colinmollenhour/credis": "1.13.0",
4040
"colinmollenhour/php-redis-session-abstract": "v1.5.0",
41-
"composer/composer": "^1.9 || ^2.0, !=2.2.16",
41+
"composer/composer": "^2.0, !=2.2.16",
4242
"elasticsearch/elasticsearch": "~7.17.0",
4343
"ezyang/htmlpurifier": "^4.14",
4444
"guzzlehttp/guzzle": "^7.4.2",
@@ -78,7 +78,8 @@
7878
"phpseclib/mcrypt_compat": "~2.0.2",
7979
"phpseclib/phpseclib": "~3.0.13",
8080
"ramsey/uuid": "~4.2.0",
81-
"symfony/console": "~5.4.10",
81+
"symfony/console": "~5.4.12",
82+
"symfony/string": "~5.4.12",
8283
"symfony/intl": "~5.4.11",
8384
"symfony/process": "~5.4.8",
8485
"tedivm/jshrink": "~1.4.0",

0 commit comments

Comments
 (0)