Skip to content

Commit 774017e

Browse files
committed
Merge branch 'platform-health' into improvement/m2-32866-update-php-amqplib-to-latest-version
# Conflicts: # composer.lock
2 parents 715a430 + 55356ed commit 774017e

File tree

43 files changed

+305
-2569
lines changed

Some content is hidden

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

43 files changed

+305
-2569
lines changed

app/code/Magento/Backend/view/adminhtml/templates/widget/form/renderer/fieldset.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ if ($isField) {
9191

9292
<?php if ($element->hasAdvanced() && !$isField) : ?>
9393
<?= (!$element->getNoContainer() && $advancedAfter) ? '</fieldset>' : '' ?>
94-
<details data-mage-init='{"details": {}}' class="details admin__collapsible-block-wrapper" id="details<?= /* @noEscape */ $id ?>">
94+
<details class="details admin__collapsible-block-wrapper" id="details<?= /* @noEscape */ $id ?>">
9595
<summary class="details-summary admin__collapsible-title" id="details-summary<?= /* @noEscape */ $id ?>">
9696
<span><?= $block->escapeHtml($advancedLabel) ?></span>
9797
</summary>

app/code/Magento/Backend/view/adminhtml/web/js/dashboard/chart.js

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ define([
99
'jquery',
1010
'chartJs',
1111
'jquery-ui-modules/widget',
12+
'chartjs/chartjs-adapter-moment',
1213
'moment'
1314
], function ($, Chart) {
1415
'use strict';
@@ -74,7 +75,7 @@ define([
7475
$(this.element).toggle(response.data.length > 0);
7576
$(this.element).next('.dashboard-diagram-nodata').toggle(response.data.length === 0);
7677

77-
this.chart.options.scales.xAxes[0].time.unit = this.options.periodUnits[this.period] ?
78+
this.chart.options.scales.xAxis.time.unit = this.options.periodUnits[this.period] ?
7879
this.options.periodUnits[this.period] : 'hour';
7980
this.chart.data.datasets[0].data = response.data;
8081
this.chart.data.datasets[0].label = response.label;
@@ -89,6 +90,8 @@ define([
8990
type: 'bar',
9091
data: {
9192
datasets: [{
93+
yAxisID: 'yAxis',
94+
xAxisID: 'xAxis',
9295
data: [],
9396
backgroundColor: '#f1d4b3',
9497
borderColor: '#eb5202',
@@ -101,20 +104,19 @@ define([
101104
position: 'bottom'
102105
},
103106
scales: {
104-
xAxes: [{
107+
xAxis: {
105108
offset: true,
106109
type: 'time',
107110
ticks: {
108-
autoSkip: true,
109111
source: 'data'
110112
}
111-
}],
112-
yAxes: [{
113+
},
114+
yAxis: {
113115
ticks: {
114116
beginAtZero: true,
115117
precision: this.options.precision
116118
}
117-
}]
119+
}
118120
}
119121
}
120122
};

app/code/Magento/Catalog/view/adminhtml/web/catalog/category/edit.js

Lines changed: 0 additions & 88 deletions
This file was deleted.

app/code/Magento/Checkout/Model/Cart/RequestQuantityProcessor.php

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
namespace Magento\Checkout\Model\Cart;
99

1010
use Magento\Framework\Locale\ResolverInterface;
11+
use NumberFormatter;
1112

1213
/**
1314
* Cart request quantity processor
@@ -37,13 +38,11 @@ public function __construct(
3738
*/
3839
public function process(array $cartData): array
3940
{
40-
$filter = new \Laminas\I18n\Filter\NumberParse($this->localeResolver->getLocale());
41-
4241
foreach ($cartData as $index => $data) {
4342
if (isset($data['qty'])) {
4443
$data['qty'] = $this->prepareQuantity($data['qty']);
4544
$data['qty'] = is_string($data['qty']) ? trim($data['qty']) : $data['qty'];
46-
$cartData[$index]['qty'] = $filter->filter($data['qty']);
45+
$cartData[$index]['qty'] = $this->filter($data['qty']);
4746
}
4847
}
4948

@@ -55,12 +54,11 @@ public function process(array $cartData): array
5554
*
5655
* @param int|float|string|array $quantity
5756
* @return int|float|string|array
58-
* @throws \Zend_Locale_Exception
5957
*/
6058
public function prepareQuantity($quantity)
6159
{
62-
$formatter = new \NumberFormatter($this->localeResolver->getLocale(), \NumberFormatter::CURRENCY);
63-
$decimalSymbol = $formatter->getSymbol(\NumberFormatter::DECIMAL_SEPARATOR_SYMBOL);
60+
$formatter = new NumberFormatter($this->localeResolver->getLocale(), NumberFormatter::CURRENCY);
61+
$decimalSymbol = $formatter->getSymbol(NumberFormatter::DECIMAL_SEPARATOR_SYMBOL);
6462

6563
if (is_array($quantity)) {
6664
foreach ($quantity as $key => $qty) {
@@ -70,8 +68,47 @@ public function prepareQuantity($quantity)
7068
}
7169
} else {
7270
if (strpos((string)$quantity, '.') !== false && $decimalSymbol !== '.') {
73-
$quantity = str_replace('.', $decimalSymbol, (string)$quantity);
71+
$quantity = str_replace('.', $decimalSymbol, (string) $quantity);
72+
}
73+
}
74+
75+
return $quantity;
76+
}
77+
78+
/**
79+
* Filter quantity value and parse it by region if needed.
80+
*
81+
* @param float|int|array|string $quantity
82+
*
83+
* @return float|int|array|string
84+
*/
85+
private function filter($quantity)
86+
{
87+
$formatter = new NumberFormatter($this->localeResolver->getLocale(), NumberFormatter::DEFAULT_STYLE);
88+
89+
if (is_array($quantity)) {
90+
foreach ($quantity as $key => $qty) {
91+
$quantity[$key] = $this->parseFormat($qty, $formatter);
7492
}
93+
} else {
94+
$quantity = $this->parseFormat($quantity, $formatter);
95+
}
96+
97+
return $quantity;
98+
}
99+
100+
/**
101+
* Phrase quantity value if needed.
102+
*
103+
* @param float|int|string $quantity
104+
* @param NumberFormatter $formatter
105+
*
106+
* @return float|int|string
107+
*/
108+
private function parseFormat($quantity, NumberFormatter $formatter)
109+
{
110+
if (!is_float($quantity) && !is_int($quantity)) {
111+
return $formatter->parse($quantity);
75112
}
76113

77114
return $quantity;

app/code/Magento/Swagger/Test/Mftf/ActionGroup/StorefrontApplyAdminTokenOnSwaggerPageActionGroup.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,13 @@
1515
<argument name="token" type="string" defaultValue=""/>
1616
</arguments>
1717

18-
<clearField selector="{{SwaggerHeaderSection.apiKeyInput}}" stepKey="clearApiTokenField"/>
19-
<fillField selector="{{SwaggerHeaderSection.apiKeyInput}}" userInput="{{token}}" stepKey="fillApiTokenInput"/>
20-
<click selector="{{SwaggerHeaderSection.applyButton}}" stepKey="clickApplyButton" />
18+
<click selector="{{SwaggerAuthorizeSection.authorizeButtonUnlocked}}" stepKey="clickAuthorizeButton"/>
19+
<waitForElementVisible selector="{{SwaggerAuthorizeSection.apiKeyInput}}" stepKey="waitModalPopUp"/>
20+
<clearField selector="{{SwaggerAuthorizeSection.apiKeyInput}}" stepKey="clearApiTokenField"/>
21+
<fillField selector="{{SwaggerAuthorizeSection.apiKeyInput}}" userInput="{{token}}" stepKey="fillApiTokenInput"/>
22+
<comment userInput="Comment is added to preserve the step key for backward compatibility" stepKey="clickApplyButton"/>
23+
<click selector="{{SwaggerAuthorizeSection.authorizeModalButton}}" stepKey="clickModalAuthorizeButton"/>
24+
<waitForPageLoad stepKey="waitForPageReloaded"/>
25+
<click selector="{{SwaggerAuthorizeSection.closeModalButton}}" stepKey="clickModalCloseButton"/>
2126
</actionGroup>
2227
</actionGroups>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
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" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="StorefrontSwaggerLogoutActionGroup">
11+
<annotations>
12+
<description>Logout Admin Token on Swagger Page</description>
13+
</annotations>
14+
15+
<click selector="{{SwaggerAuthorizeSection.authorizeButtonLocked}}" stepKey="clickAuthorizeButton"/>
16+
<click selector="{{SwaggerAuthorizeSection.logoutModalButton}}" stepKey="clickModalLogoutButton"/>
17+
<waitForPageLoad stepKey="waitForPageReloaded"/>
18+
<click selector="{{SwaggerAuthorizeSection.closeModalButton}}" stepKey="clickModalCloseButton" />
19+
<seeElementInDOM selector="{{SwaggerAuthorizeSection.authorizeButtonUnlocked}}" stepKey="assertIsLoggedOut"/>
20+
</actionGroup>
21+
</actionGroups>

app/code/Magento/Swagger/Test/Mftf/Page/SwaggerPage.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
1010
<page name="StorefrontSwaggerPage" url="/swagger" area="storefront" module="Swagger">
11+
<section name="SwaggerAuthorizeSection"/>
1112
<section name="SwaggerHeaderSection"/>
1213
<section name="SwaggerApiListSection"/>
1314
</page>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
10+
<section name="SwaggerAuthorizeSection">
11+
<element name="authorizeButtonUnlocked" type="button" selector=".btn.authorize.unlocked"/>
12+
<element name="authorizeButtonLocked" type="button" selector=".btn.authorize.locked"/>
13+
<element name="authorizeModalButton" type="button" selector=".btn.auth.authorize"/>
14+
<element name="logoutModalButton" type="button" selector=".btn.modal-btn.auth"/>
15+
<element name="closeModalButton" type="button" selector=".btn.modal-btn.auth.btn-done"/>
16+
<element name="apiKeyInput" type="input" selector=".auth-container .wrapper input"/>
17+
</section>
18+
</sections>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
8+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
9+
<test name="StorefrontMagentoApiSwaggerActionsExistTest">
10+
<annotations>
11+
<features value="Swagger"/>
12+
<stories value="Swagger via the Storefront"/>
13+
<title value="Authorize and logout on Swagger page"/>
14+
<description value="Authorize and logout on Swagger page use API Key"/>
15+
<severity value="CRITICAL"/>
16+
</annotations>
17+
<before>
18+
<getOTP stepKey="getOtpCode"/>
19+
<createData entity="adminApiToken" stepKey="createAdminToken">
20+
<field key="otp">{$getOtpCode}</field>
21+
</createData>
22+
</before>
23+
<after></after>
24+
<actionGroup ref="StorefrontGoToSwaggerPageActionGroup" stepKey="goToSwaggerPage"/>
25+
<actionGroup ref="StorefrontApplyAdminTokenOnSwaggerPageActionGroup" stepKey="applyAdminToken">
26+
<argument name="token" value="$createAdminToken.return$"/>
27+
</actionGroup>
28+
<seeElement selector="{{SwaggerApiListSection.swaggerActionTitle('storeStoreRepositoryV1')}}" stepKey="assertTitleOfFirstAction"/>
29+
<seeElement selector="{{SwaggerApiListSection.swaggerActionTitle('quoteCartRepositoryV1')}}" stepKey="assertTitleOfSecondAction"/>
30+
<seeElement selector="{{SwaggerApiListSection.swaggerActionTitle('catalogProductRepositoryV1')}}" stepKey="assertTitleOfThirdAction"/>
31+
<actionGroup ref="StorefrontSwaggerLogoutActionGroup" stepKey="swaggerLogout"/>
32+
</test>
33+
</tests>

app/code/Magento/Swagger/view/frontend/layout/swagger_index_index.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@
1212
<!--<title>Swagger UI assets</title>-->
1313
<css src='Magento_Swagger::swagger-ui/css/style.css' media='screen' rel='stylesheet' type='text/css'/>
1414
<css src='Magento_Swagger::swagger-ui/css/swagger-ui.css' media='screen' rel='stylesheet' type='text/css'/>
15-
<link src='Magento_Swagger::swagger-ui/js/lang/translator.js' type='text/javascript' defer="defer"/>
16-
<link src='Magento_Swagger::swagger-ui/js/lang/ru.js' type='text/javascript' defer="defer"/>
17-
<link src='Magento_Swagger::swagger-ui/js/lang/en.js' type='text/javascript' defer="defer"/>
1815
<link src='Magento_Swagger::swagger-ui/js/swagger-ui-bundle.min.js' type='text/javascript' defer="defer"/>
1916
<link src='Magento_Swagger::swagger-ui/js/swagger-ui-standalone-preset.min.js' type='text/javascript' defer="defer"/>
2017
<link src='Magento_Swagger::swagger-ui/js/magento-swagger.js' type='text/javascript' defer="defer"/>

0 commit comments

Comments
 (0)