Skip to content

Commit 63fb711

Browse files
committed
Merge remote-tracking branch 'origin/2.3-develop' into MC-12353
2 parents eafb431 + 4808977 commit 63fb711

File tree

43 files changed

+1069
-295
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

+1069
-295
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,42 @@
1+
# Magento_Authorizenet module
2+
13
The Magento_Authorizenet module implements the integration with the Authorize.Net payment gateway and makes the latter available as a payment method in Magento.
4+
5+
## Extensibility
6+
7+
Extension developers can interact with the Magento_Authorizenet module. For more information about the Magento extension mechanism, see [Magento plug-ins](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/plugins.html).
8+
9+
[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.3/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_Authorizenet module.
10+
11+
### Events
12+
13+
This module dispatches the following events:
14+
15+
- `checkout_directpost_placeOrder` event in the `\Magento\Authorizenet\Controller\Directpost\Payment\Place::placeCheckoutOrder()` method. Parameters:
16+
- `result` is a data object (`\Magento\Framework\DataObject` class).
17+
- `action` is a controller object (`\Magento\Authorizenet\Controller\Directpost\Payment\Place`).
18+
19+
- `order_cancel_after` event in the `\Magento\Authorizenet\Model\Directpost::declineOrder()` method. Parameters:
20+
- `order` is an order object (`\Magento\Sales\Model\Order` class).
21+
22+
23+
This module observes the following events:
24+
25+
- `checkout_submit_all_after` event in the `Magento\Authorizenet\Observer\SaveOrderAfterSubmitObserver` file.
26+
- `checkout_directpost_placeOrder` event in the `Magento\Authorizenet\Observer\AddFieldsToResponseObserver` file.
27+
28+
For information about events in Magento 2, see [Events and observers](http://devdocs.magento.com/guides/v2.3/extension-dev-guide/events-and-observers.html#events).
29+
30+
### Layouts
31+
32+
This module introduces the following layouts and layout handles in the `view/adminhtml/layout` directory:
33+
34+
- `adminhtml_authorizenet_directpost_payment_redirect`
35+
36+
This module introduces the following layouts and layout handles in the `view/frontend/layout` directory:
37+
38+
- `authorizenet_directpost_payment_backendresponse`
39+
- `authorizenet_directpost_payment_redirect`
40+
- `authorizenet_directpost_payment_response`
41+
42+
For more information about layouts in Magento 2, see the [Layout documentation](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/layout-overview.html).

app/code/Magento/Catalog/Model/Product.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -832,12 +832,14 @@ public function getStoreIds()
832832
if (!$this->hasStoreIds()) {
833833
$storeIds = [];
834834
if ($websiteIds = $this->getWebsiteIds()) {
835-
if ($this->_storeManager->isSingleStoreMode()) {
835+
if (!$this->isObjectNew() && $this->_storeManager->isSingleStoreMode()) {
836836
$websiteIds = array_keys($websiteIds);
837837
}
838838
foreach ($websiteIds as $websiteId) {
839839
$websiteStores = $this->_storeManager->getWebsite($websiteId)->getStoreIds();
840-
$storeIds = array_merge($storeIds, $websiteStores);
840+
foreach ($websiteStores as $websiteStore) {
841+
$storeIds []= $websiteStore;
842+
}
841843
}
842844
}
843845
$this->setStoreIds($storeIds);
@@ -920,9 +922,9 @@ public function beforeSave()
920922
//Validate changing of design.
921923
$userType = $this->getUserContext()->getUserType();
922924
if ((
923-
$userType === UserContextInterface::USER_TYPE_ADMIN
925+
$userType === UserContextInterface::USER_TYPE_ADMIN
924926
|| $userType === UserContextInterface::USER_TYPE_INTEGRATION
925-
)
927+
)
926928
&& !$this->getAuthorization()->isAllowed('Magento_Catalog::edit_product_design')
927929
) {
928930
$this->setData('custom_design', $this->getOrigData('custom_design'));
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="AdminCatalogStorefrontConfigSection">
12+
<element name="sectionHeader" type="button" selector="#catalog_frontend-head"/>
13+
<element name="productsPerPageAllowedValues" type="input" selector="#catalog_frontend_grid_per_page_values"/>
14+
<element name="productsPerPageDefaultValue" type="input" selector="#catalog_frontend_grid_per_page"/>
15+
</section>
16+
</sections>

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

Lines changed: 63 additions & 34 deletions
Large diffs are not rendered by default.
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="StorefrontCheckDefaultNumbersProductsToDisplayTest">
11+
<annotations>
12+
<features value="Catalog"/>
13+
<stories value="Product grid"/>
14+
<title value="Check default numbers: products to display"/>
15+
<description value="Check default numbers: products to display"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="MC-17386"/>
18+
<useCaseId value="MC-15341"/>
19+
<group value="catalog"/>
20+
</annotations>
21+
<before>
22+
<!-- Login as Admin -->
23+
<comment userInput="Login as Admin" stepKey="commentLoginAsAdmin"/>
24+
<actionGroup ref="LoginAsAdmin" stepKey="login"/>
25+
<!--Create 37 Products and Subcategory -->
26+
<comment userInput="Create 37 Products and Subcategory" stepKey="commentCreateData"/>
27+
<createData entity="SimpleSubCategory" stepKey="createCategory"/>
28+
<createData entity="SimpleProduct" stepKey="createSimpleProductOne">
29+
<requiredEntity createDataKey="createCategory"/>
30+
</createData>
31+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwo">
32+
<requiredEntity createDataKey="createCategory"/>
33+
</createData>
34+
<createData entity="SimpleProduct" stepKey="createSimpleProductThree">
35+
<requiredEntity createDataKey="createCategory"/>
36+
</createData>
37+
<createData entity="SimpleProduct" stepKey="createSimpleProductFour">
38+
<requiredEntity createDataKey="createCategory"/>
39+
</createData>
40+
<createData entity="SimpleProduct" stepKey="createSimpleProductFive">
41+
<requiredEntity createDataKey="createCategory"/>
42+
</createData>
43+
<createData entity="SimpleProduct" stepKey="createSimpleProductSix">
44+
<requiredEntity createDataKey="createCategory"/>
45+
</createData>
46+
<createData entity="SimpleProduct" stepKey="createSimpleProductSeven">
47+
<requiredEntity createDataKey="createCategory"/>
48+
</createData>
49+
<createData entity="SimpleProduct" stepKey="createSimpleProductEight">
50+
<requiredEntity createDataKey="createCategory"/>
51+
</createData>
52+
<createData entity="SimpleProduct" stepKey="createSimpleProductNine">
53+
<requiredEntity createDataKey="createCategory"/>
54+
</createData>
55+
<createData entity="SimpleProduct" stepKey="createSimpleProductTen">
56+
<requiredEntity createDataKey="createCategory"/>
57+
</createData>
58+
<createData entity="SimpleProduct" stepKey="createSimpleProductEleven">
59+
<requiredEntity createDataKey="createCategory"/>
60+
</createData>
61+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwelve">
62+
<requiredEntity createDataKey="createCategory"/>
63+
</createData>
64+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirteen">
65+
<requiredEntity createDataKey="createCategory"/>
66+
</createData>
67+
<createData entity="SimpleProduct" stepKey="createSimpleProductFourteen">
68+
<requiredEntity createDataKey="createCategory"/>
69+
</createData>
70+
<createData entity="SimpleProduct" stepKey="createSimpleProductFifteen">
71+
<requiredEntity createDataKey="createCategory"/>
72+
</createData>
73+
<createData entity="SimpleProduct" stepKey="createSimpleProductSixteen">
74+
<requiredEntity createDataKey="createCategory"/>
75+
</createData>
76+
<createData entity="SimpleProduct" stepKey="createSimpleProductSeventeen">
77+
<requiredEntity createDataKey="createCategory"/>
78+
</createData>
79+
<createData entity="SimpleProduct" stepKey="createSimpleProductEighteen">
80+
<requiredEntity createDataKey="createCategory"/>
81+
</createData>
82+
<createData entity="SimpleProduct" stepKey="createSimpleProductNineteen">
83+
<requiredEntity createDataKey="createCategory"/>
84+
</createData>
85+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwenty">
86+
<requiredEntity createDataKey="createCategory"/>
87+
</createData>
88+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentyOne">
89+
<requiredEntity createDataKey="createCategory"/>
90+
</createData>
91+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentyTwo">
92+
<requiredEntity createDataKey="createCategory"/>
93+
</createData>
94+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentyThree">
95+
<requiredEntity createDataKey="createCategory"/>
96+
</createData>
97+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentyFour">
98+
<requiredEntity createDataKey="createCategory"/>
99+
</createData>
100+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentyFive">
101+
<requiredEntity createDataKey="createCategory"/>
102+
</createData>
103+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentySix">
104+
<requiredEntity createDataKey="createCategory"/>
105+
</createData>
106+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentySeven">
107+
<requiredEntity createDataKey="createCategory"/>
108+
</createData>
109+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentyEight">
110+
<requiredEntity createDataKey="createCategory"/>
111+
</createData>
112+
<createData entity="SimpleProduct" stepKey="createSimpleProductTwentyNine">
113+
<requiredEntity createDataKey="createCategory"/>
114+
</createData>
115+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirty">
116+
<requiredEntity createDataKey="createCategory"/>
117+
</createData>
118+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirtyOne">
119+
<requiredEntity createDataKey="createCategory"/>
120+
</createData>
121+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirtyTwo">
122+
<requiredEntity createDataKey="createCategory"/>
123+
</createData>
124+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirtyThree">
125+
<requiredEntity createDataKey="createCategory"/>
126+
</createData>
127+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirtyFour">
128+
<requiredEntity createDataKey="createCategory"/>
129+
</createData>
130+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirtyFive">
131+
<requiredEntity createDataKey="createCategory"/>
132+
</createData>
133+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirtySix">
134+
<requiredEntity createDataKey="createCategory"/>
135+
</createData>
136+
<createData entity="SimpleProduct" stepKey="createSimpleProductThirtySeven">
137+
<requiredEntity createDataKey="createCategory"/>
138+
</createData>
139+
</before>
140+
<after>
141+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
142+
<deleteData createDataKey="createSimpleProductOne" stepKey="deleteProductOne"/>
143+
<deleteData createDataKey="createSimpleProductTwo" stepKey="deleteProductTwo"/>
144+
<deleteData createDataKey="createSimpleProductThree" stepKey="deleteProductThree"/>
145+
<deleteData createDataKey="createSimpleProductFour" stepKey="deleteProductFour"/>
146+
<deleteData createDataKey="createSimpleProductFive" stepKey="deleteProductFive"/>
147+
<deleteData createDataKey="createSimpleProductSix" stepKey="deleteProductSix"/>
148+
<deleteData createDataKey="createSimpleProductSeven" stepKey="deleteProductSeven"/>
149+
<deleteData createDataKey="createSimpleProductEight" stepKey="deleteProductEight"/>
150+
<deleteData createDataKey="createSimpleProductNine" stepKey="deleteProductNine"/>
151+
<deleteData createDataKey="createSimpleProductTen" stepKey="deleteProductTen"/>
152+
<deleteData createDataKey="createSimpleProductEleven" stepKey="deleteProductEleven"/>
153+
<deleteData createDataKey="createSimpleProductTwelve" stepKey="deleteProductTwelve"/>
154+
<deleteData createDataKey="createSimpleProductThirteen" stepKey="deleteProductThirteen"/>
155+
<deleteData createDataKey="createSimpleProductFourteen" stepKey="deleteProductFourteen"/>
156+
<deleteData createDataKey="createSimpleProductFifteen" stepKey="deleteProductFifteen"/>
157+
<deleteData createDataKey="createSimpleProductSixteen" stepKey="deleteProductSixteen"/>
158+
<deleteData createDataKey="createSimpleProductSeventeen" stepKey="deleteProductSeventeen"/>
159+
<deleteData createDataKey="createSimpleProductEighteen" stepKey="deleteProductEighteen"/>
160+
<deleteData createDataKey="createSimpleProductNineteen" stepKey="deleteProductNineteen"/>
161+
<deleteData createDataKey="createSimpleProductTwenty" stepKey="deleteProductTwenty"/>
162+
<deleteData createDataKey="createSimpleProductTwentyOne" stepKey="deleteProductTwentyOne"/>
163+
<deleteData createDataKey="createSimpleProductTwentyTwo" stepKey="deleteProductTwentyTwo"/>
164+
<deleteData createDataKey="createSimpleProductTwentyThree" stepKey="deleteProductTwentyThree"/>
165+
<deleteData createDataKey="createSimpleProductTwentyFour" stepKey="deleteProductTwentyFour"/>
166+
<deleteData createDataKey="createSimpleProductTwentyFive" stepKey="deleteProductTwentyFive"/>
167+
<deleteData createDataKey="createSimpleProductTwentySix" stepKey="deleteProductTwentySix"/>
168+
<deleteData createDataKey="createSimpleProductTwentySeven" stepKey="deleteProductTwentySeven"/>
169+
<deleteData createDataKey="createSimpleProductTwentyEight" stepKey="deleteProductTwentyEight"/>
170+
<deleteData createDataKey="createSimpleProductTwentyNine" stepKey="deleteProductTwentyNine"/>
171+
<deleteData createDataKey="createSimpleProductThirty" stepKey="deleteProductThirty"/>
172+
<deleteData createDataKey="createSimpleProductThirtyOne" stepKey="deleteProductThirtyOne"/>
173+
<deleteData createDataKey="createSimpleProductThirtyTwo" stepKey="deleteProductThirtyTwo"/>
174+
<deleteData createDataKey="createSimpleProductThirtyThree" stepKey="deleteProductThirtyThree"/>
175+
<deleteData createDataKey="createSimpleProductThirtyFour" stepKey="deleteProductThirtyFour"/>
176+
<deleteData createDataKey="createSimpleProductThirtyFive" stepKey="deleteProductThirtyFive"/>
177+
<deleteData createDataKey="createSimpleProductThirtySix" stepKey="deleteProductThirtySix"/>
178+
<deleteData createDataKey="createSimpleProductThirtySeven" stepKey="deleteProductThirtySeven"/>
179+
<actionGroup ref="logout" stepKey="logout"/>
180+
</after>
181+
<!--Verify configuration for default number of products displayed in the grid view-->
182+
<comment userInput="Verify configuration for default number of products displayed in the grid view" stepKey="commentVerifyDefaultValues"/>
183+
<amOnPage url="{{CatalogConfigPage.url}}" stepKey="goToCatalogConfigPagePage"/>
184+
<waitForPageLoad stepKey="waitForConfigPageLoad" />
185+
<conditionalClick selector="{{AdminCatalogStorefrontConfigSection.sectionHeader}}" dependentSelector="{{AdminCatalogStorefrontConfigSection.productsPerPageAllowedValues}}" visible="false" stepKey="openCatalogConfigStorefrontSection"/>
186+
<waitForElementVisible selector="{{AdminCatalogStorefrontConfigSection.productsPerPageAllowedValues}}" stepKey="waitForSectionOpen"/>
187+
<seeInField selector="{{AdminCatalogStorefrontConfigSection.productsPerPageAllowedValues}}" userInput="12,24,36" stepKey="seeDefaultValueAllowedNumberProductsPerPage"/>
188+
<seeInField selector="{{AdminCatalogStorefrontConfigSection.productsPerPageDefaultValue}}" userInput="12" stepKey="seeDefaultValueProductPerPage"/>
189+
<!-- Open storefront on the category page -->
190+
<comment userInput="Open storefront on the category page" stepKey="commentOpenStorefront"/>
191+
<amOnPage url="{{StorefrontCategoryPage.url($$createCategory.name$$)}}" stepKey="goToStorefrontCreatedCategoryPage"/>
192+
<!-- Check the drop-down at the bottom of page contains options -->
193+
<comment userInput="Check the drop-down at the bottom of page contains options" stepKey="commentCheckOptions"/>
194+
<scrollTo selector="{{StorefrontCategoryBottomToolbarSection.perPage}}" stepKey="scrollToBottomToolbarSection"/>
195+
<assertElementContainsAttribute selector="{{StorefrontCategoryBottomToolbarSection.perPage}}" attribute="value" expectedValue="12" stepKey="assertPerPageFirstValue" />
196+
<selectOption selector="{{StorefrontCategoryBottomToolbarSection.perPage}}" userInput="24" stepKey="selectPerPageSecondValue" />
197+
<assertElementContainsAttribute selector="{{StorefrontCategoryBottomToolbarSection.perPage}}" attribute="value" expectedValue="24" stepKey="assertPerPageSecondValue" />
198+
<selectOption selector="{{StorefrontCategoryBottomToolbarSection.perPage}}" userInput="36" stepKey="selectPerPageThirdValue" />
199+
<assertElementContainsAttribute selector="{{StorefrontCategoryBottomToolbarSection.perPage}}" attribute="value" expectedValue="36" stepKey="assertPerPageThirdValue" />
200+
</test>
201+
</tests>

0 commit comments

Comments
 (0)