Skip to content

Commit 8c60b4b

Browse files
Shkolyarenko, Serhiy(sshkolyarenko)Shkolyarenko, Serhiy(sshkolyarenko)
Shkolyarenko, Serhiy(sshkolyarenko)
authored and
Shkolyarenko, Serhiy(sshkolyarenko)
committed
Merge pull request #224 from magento-folks/bugs
[Folks] Bugfix
2 parents 7b831ff + 86cf64f commit 8c60b4b

File tree

23 files changed

+158
-17
lines changed

23 files changed

+158
-17
lines changed

app/code/Magento/Checkout/view/frontend/layout/checkout_cart_index.xml

+3
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@
6262
<item name="component" xsi:type="string">Magento_Checkout/js/view/cart/shipping-estimation</item>
6363
<item name="provider" xsi:type="string">checkoutProvider</item>
6464
<item name="sortOrder" xsi:type="string">1</item>
65+
<item name="deps" xsi:type="array">
66+
<item name="0" xsi:type="string">block-summary.block-shipping.address-fieldsets</item>
67+
</item>
6568
<item name="children" xsi:type="array">
6669
<item name="address-fieldsets" xsi:type="array">
6770
<item name="component" xsi:type="string">uiComponent</item>

app/code/Magento/CheckoutAgreements/Block/Adminhtml/Agreement/Edit/Form.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ protected function _prepareForm()
121121

122122
if (!$this->_storeManager->isSingleStoreMode()) {
123123
$field = $fieldset->addField(
124-
'store_id',
124+
'stores',
125125
'multiselect',
126126
[
127127
'name' => 'stores[]',
@@ -137,7 +137,7 @@ protected function _prepareForm()
137137
$field->setRenderer($renderer);
138138
} else {
139139
$fieldset->addField(
140-
'store_id',
140+
'stores',
141141
'hidden',
142142
['name' => 'stores[]', 'value' => $this->_storeManager->getStore(true)->getId()]
143143
);

app/code/Magento/CheckoutAgreements/Block/Adminhtml/Agreement/Grid.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ protected function _prepareColumns()
7878

7979
if (!$this->_storeManager->isSingleStoreMode()) {
8080
$this->addColumn(
81-
'store_id',
81+
'stores',
8282
[
8383
'header' => __('Store View'),
84-
'index' => 'store_id',
84+
'index' => 'stores',
8585
'type' => 'store',
8686
'store_all' => true,
8787
'store_view' => true,

app/code/Magento/CheckoutAgreements/Model/CheckoutAgreementsRepository.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ public function save(\Magento\CheckoutAgreements\Api\Data\AgreementInterface $da
124124
if ($storeId === null) {
125125
$storeId = $this->storeManager->getStore()->getId();
126126
}
127-
$data->setStores($storeId);
127+
$data->setStores([$storeId]);
128128
try {
129129
$this->resourceModel->save($data);
130130
} catch (\Exception $e) {

app/code/Magento/CheckoutAgreements/Model/ResourceModel/Agreement.php

+13-8
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,16 @@ protected function _beforeSave(\Magento\Framework\Model\AbstractModel $object)
7070
*/
7171
protected function _afterSave(\Magento\Framework\Model\AbstractModel $object)
7272
{
73-
$condition = ['agreement_id = ?' => $object->getId()];
74-
$this->getConnection()->delete($this->getTable('checkout_agreement_store'), $condition);
73+
$this->getConnection()->delete(
74+
$this->getTable('checkout_agreement_store'),
75+
['agreement_id = ?' => $object->getId()]
76+
);
7577

76-
foreach ((array)$object->getData('stores') as $store) {
77-
$storeArray = [];
78-
$storeArray['agreement_id'] = $object->getId();
79-
$storeArray['store_id'] = $store;
78+
foreach ((array)$object->getData('stores') as $storeId) {
79+
$storeArray = [
80+
'agreement_id' => $object->getId(),
81+
'store_id' => $storeId
82+
];
8083
$this->getConnection()->insert($this->getTable('checkout_agreement_store'), $storeArray);
8184
}
8285

@@ -96,8 +99,10 @@ protected function _afterLoad(\Magento\Framework\Model\AbstractModel $object)
9699
->from($this->getTable('checkout_agreement_store'), ['store_id'])
97100
->where('agreement_id = :agreement_id');
98101

99-
if ($stores = $this->getConnection()->fetchCol($select, [':agreement_id' => $object->getId()])) {
100-
$object->setData('store_id', $stores);
102+
$stores = $this->getConnection()->fetchCol($select, [':agreement_id' => $object->getId()]);
103+
104+
if ($stores) {
105+
$object->setData('stores', $stores);
101106
}
102107

103108
return parent::_afterLoad($object);

app/code/Magento/CheckoutAgreements/view/frontend/web/template/checkout/checkout-agreements.html

-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
<!-- /ko -->
3838
<!-- /ko -->
3939
<div id="checkout-agreements-modal" data-bind="afterRender: initModal" style="display: none">
40-
<div class="checkout-agreements-item-title" data-bind="html: modalTitle"></div>
4140
<div class="checkout-agreements-item-content" data-bind="html: modalContent"></div>
4241
</div>
4342
</div>

app/code/Magento/GiftMessage/Test/Unit/Model/GuestItemRepositoryTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ protected function setUp()
8282
);
8383
$this->messageMock = $this->getMock('Magento\GiftMessage\Model\Message', [], [], '', false);
8484
$this->quoteItemMock = $this->getMock(
85-
'\Magento\Qote\Model\Quote\Item',
85+
'\Magento\Quote\Model\Quote\Item',
8686
[
8787
'getGiftMessageId',
8888
'__wakeup'

app/code/Magento/GiftMessage/Test/Unit/Model/ItemRepositoryTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ protected function setUp()
8282
);
8383
$this->messageMock = $this->getMock('Magento\GiftMessage\Model\Message', [], [], '', false);
8484
$this->quoteItemMock = $this->getMock(
85-
'\Magento\Qote\Model\Quote\Item',
85+
'\Magento\Quote\Model\Quote\Item',
8686
[
8787
'getGiftMessageId',
8888
'__wakeup'

app/code/Magento/GiftMessage/view/frontend/web/js/view/gift-message.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ define([
7070
hasActiveOptions: function() {
7171
var regionData = this.getRegion('additionalOptions');
7272
var options = regionData();
73-
for (var i in options) {
73+
for (var i = 0; i < options.length; i++) {
7474
if (options[i].isActive()) {
7575
return true;
7676
}

app/code/Magento/Quote/etc/webapi.xml

+12
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,18 @@
104104
<resource ref="Magento_Cart::manage" />
105105
</resources>
106106
</route>
107+
<route url="/V1/carts/:cartId/estimate-shipping-methods" method="POST">
108+
<service class="Magento\Quote\Api\ShippingMethodManagementInterface" method="estimateByAddress"/>
109+
<resources>
110+
<resource ref="Magento_Cart::manage" />
111+
</resources>
112+
</route>
113+
<route url="/V1/carts/:cartId/estimate-shipping-methods-by-address-id" method="POST">
114+
<service class="Magento\Quote\Api\ShippingMethodManagementInterface" method="estimateByAddressId"/>
115+
<resources>
116+
<resource ref="Magento_Cart::manage" />
117+
</resources>
118+
</route>
107119

108120
<!-- Managing My Cart Shipment Method -->
109121
<route url="/V1/carts/mine/shipping-methods" method="GET">

dev/tests/functional/tests/app/Magento/Authorizenet/Test/TestCase/OnePageCheckoutTest.xml

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<data name="configData" xsi:type="string">authorizenet</data>
2424
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
2525
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
26+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
2627
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
2728
<constraint name="Magento\Sales\Test\Constraint\AssertOrderCommentsHistory" />
2829
</variation>

dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Shipping.php

+16
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class Shipping extends Form
4545

4646
/**
4747
* Fields that are used in estimation shipping form.
48+
* Indexes of this array should be numeric, they are used in compare() method.
4849
*
4950
* @var array
5051
*/
@@ -102,6 +103,21 @@ public function fillEstimateShippingAndTax(Address $address)
102103
$this->openEstimateShippingAndTax();
103104
$data = $address->getData();
104105
$mapping = $this->dataMapping(array_intersect_key($data, array_flip($this->estimationFields)));
106+
// sort array according to $this->estimationFields elements order
107+
uksort($mapping, function ($a, $b) {
108+
$a = array_search($a, $this->estimationFields);
109+
$b = array_search($b, $this->estimationFields);
110+
switch (true) {
111+
case false !== $a && false !== $b:
112+
return $a - $b;
113+
case false !== $a:
114+
return -1;
115+
case false !== $b:
116+
return 1;
117+
default:
118+
return 0;
119+
}
120+
});
105121

106122
// Test environment may become unstable when form fields are filled in a default manner.
107123
// Imitating behavior closer to the real user.

dev/tests/functional/tests/app/Magento/Checkout/Test/Block/Cart/Sidebar.php

+35
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,20 @@ class Sidebar extends Block
2929
*/
3030
protected $cartLink = 'a.showcart';
3131

32+
/**
33+
* Minicart items quantity
34+
*
35+
* @var string
36+
*/
37+
protected $productCounter = './/*[@class="counter-number"]';
38+
39+
/**
40+
* Empty minicart message
41+
*
42+
* @var string
43+
*/
44+
protected $emptyCartMessage = './/*[@id="minicart-content-wrapper"]//*[@class="subtitle empty"]';
45+
3246
/**
3347
* Mini cart content selector.
3448
*
@@ -101,6 +115,27 @@ function () use ($browser, $selector) {
101115
);
102116
}
103117

118+
/**
119+
* Get empty minicart message
120+
*
121+
* @return string
122+
*/
123+
public function getEmptyMessage()
124+
{
125+
$this->_rootElement->find($this->cartLink)->click();
126+
return $this->_rootElement->find($this->emptyCartMessage, Locator::SELECTOR_XPATH)->getText();
127+
}
128+
129+
/**
130+
* Is minicart items quantity block visible
131+
*
132+
* @return bool
133+
*/
134+
public function isItemsQtyVisible()
135+
{
136+
return $this->_rootElement->find($this->productCounter, Locator::SELECTOR_XPATH)->isVisible();
137+
}
138+
104139
/**
105140
* Get product quantity.
106141
*
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
namespace Magento\Checkout\Test\Constraint;
8+
9+
use Magento\Cms\Test\Page\CmsIndex;
10+
use Magento\Mtf\Constraint\AbstractConstraint;
11+
12+
/**
13+
* Assert that customer cart is empty
14+
*/
15+
class AssertMinicartEmpty extends AbstractConstraint
16+
{
17+
/**
18+
* Empty cart message
19+
*/
20+
const TEXT_EMPTY_MINICART = 'You have no items in your shopping cart.';
21+
22+
/**
23+
* Assert that customer minicart is empty
24+
*
25+
* @param CmsIndex $cmsIndex
26+
*/
27+
public function processAssert(
28+
CmsIndex $cmsIndex
29+
) {
30+
\PHPUnit_Framework_Assert::assertEquals(
31+
self::TEXT_EMPTY_MINICART,
32+
$cmsIndex->getCartSidebarBlock()->getEmptyMessage(),
33+
'Empty minicart message not found'
34+
);
35+
36+
\PHPUnit_Framework_Assert::assertFalse(
37+
$cmsIndex->getCartSidebarBlock()->isItemsQtyVisible(),
38+
'Minicart is not empty'
39+
);
40+
}
41+
42+
/**
43+
* Returns a string representation of the object
44+
*
45+
* @return string
46+
*/
47+
public function toString()
48+
{
49+
return 'Minicart is empty';
50+
}
51+
}

dev/tests/functional/tests/app/Magento/Checkout/Test/TestCase/OnePageCheckoutTest.xml

+5
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<data name="orderButtonsAvailable" xsi:type="string">Back, Send Email, Cancel, Hold, Invoice, Edit</data>
2121
<data name="configData" xsi:type="string">checkmo_specificcountry_gb</data>
2222
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
23+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
2324
<constraint name="Magento\Sales\Test\Constraint\AssertOrderStatusIsCorrect" />
2425
<constraint name="Magento\Sales\Test\Constraint\AssertOrderButtonsAvailable" />
2526
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
@@ -40,6 +41,7 @@
4041
<data name="orderButtonsAvailable" xsi:type="string">Back, Send Email, Cancel, Hold, Ship, Invoice, Edit</data>
4142
<data name="configData" xsi:type="string">banktransfer</data>
4243
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
44+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
4345
<constraint name="Magento\Sales\Test\Constraint\AssertOrderStatusIsCorrect" />
4446
<constraint name="Magento\Sales\Test\Constraint\AssertOrderButtonsAvailable" />
4547
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
@@ -59,6 +61,7 @@
5961
<data name="orderButtonsAvailable" xsi:type="string">Back, Send Email, Cancel, Hold, Ship, Invoice, Edit</data>
6062
<data name="configData" xsi:type="string">banktransfer_specificcountry_gb</data>
6163
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
64+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
6265
<constraint name="Magento\Sales\Test\Constraint\AssertOrderStatusIsCorrect" />
6366
<constraint name="Magento\Sales\Test\Constraint\AssertOrderButtonsAvailable" />
6467
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
@@ -81,6 +84,7 @@
8184
<data name="tag" xsi:type="string">test_type:acceptance_test</data>
8285
<data name="configData" xsi:type="string">checkmo</data>
8386
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage"/>
87+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
8488
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal"/>
8589
</variation>
8690
<variation name="OnePageCheckoutTestVariation5" summary="Guest Checkout using Check/Money Order and Free Shipping with Prices/Taxes Verifications" ticketId="MAGETWO-12412">
@@ -102,6 +106,7 @@
102106
<data name="configData" xsi:type="string">checkmo, freeshipping_minimum_order_amount_100</data>
103107
<data name="tag" xsi:type="string">test_type:acceptance_test</data>
104108
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage"/>
109+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
105110
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal"/>
106111
</variation>
107112
</testCase>

dev/tests/functional/tests/app/Magento/Dhl/Test/TestCase/OnePageCheckoutTest.xml

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<data name="configData" xsi:type="string">checkmo, dhl_eu, shipping_origin_CH, config_base_currency_ch</data>
2121
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
2222
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
23+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
2324
<constraint name="Magento\Sales\Test\Constraint\AssertOrderInOrdersGrid" />
2425
<constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" />
2526
</variation>

dev/tests/functional/tests/app/Magento/Fedex/Test/TestCase/OnePageCheckoutTest.xml

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
<data name="configData" xsi:type="string">checkmo, fedex, shipping_origin_US_CA</data>
2121
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
2222
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
23+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
2324
<constraint name="Magento\Sales\Test\Constraint\AssertOrderInOrdersGrid" />
2425
<constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" />
2526
</variation>
@@ -36,6 +37,7 @@
3637
<data name="configData" xsi:type="string">checkmo, fedex, shipping_origin_US_CA</data>
3738
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
3839
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
40+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
3941
<constraint name="Magento\Sales\Test\Constraint\AssertOrderInOrdersGrid" />
4042
<constraint name="Magento\Checkout\Test\Constraint\AssertCartIsEmpty" />
4143
</variation>

dev/tests/functional/tests/app/Magento/GiftMessage/Test/TestCase/CheckoutWithGiftMessagesTest.xml

+2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<data name="giftMessage/data/message" xsi:type="string">text_gift_message</data>
2323
<data name="payment/method" xsi:type="string">cashondelivery</data>
2424
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
25+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
2526
<constraint name="Magento\GiftMessage\Test\Constraint\AssertGiftMessageInFrontendOrder" />
2627
</variation>
2728
<variation name="CheckoutWithGiftMessagesTestVariation2">
@@ -40,6 +41,7 @@
4041
<data name="giftMessage/data/items/datasets" xsi:type="string">default</data>
4142
<data name="payment/method" xsi:type="string">cashondelivery</data>
4243
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
44+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
4345
<constraint name="Magento\GiftMessage\Test\Constraint\AssertGiftMessageInFrontendOrderItems" />
4446
</variation>
4547
</testCase>

dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromProductPageTest.xml

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<data name="configData" xsi:type="string">paypal_express, freeshipping</data>
3030
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
3131
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
32+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
3233
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
3334
<constraint name="Magento\Sales\Test\Constraint\AssertOrderCommentsHistory" />
3435
</variation>

dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutFromShoppingCartTest.xml

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
<data name="configData" xsi:type="string">payflowpro</data>
2929
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
3030
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
31+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
3132
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
3233
<constraint name="Magento\Sales\Test\Constraint\AssertOrderCommentsHistory" />
3334
</variation>

dev/tests/functional/tests/app/Magento/Paypal/Test/TestCase/ExpressCheckoutOnePageTest.xml

+3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
<data name="configData" xsi:type="string">paypal_express</data>
3131
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
3232
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
33+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
3334
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
3435
<constraint name="Magento\Sales\Test\Constraint\AssertOrderCommentsHistory" />
3536
</variation>
@@ -57,6 +58,7 @@
5758
<data name="configData" xsi:type="string">payflowlink</data>
5859
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
5960
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
61+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
6062
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
6163
<constraint name="Magento\Sales\Test\Constraint\AssertOrderCommentsHistory" />
6264
</variation>
@@ -84,6 +86,7 @@
8486
<data name="configData" xsi:type="string">paypal_express</data>
8587
<data name="tag" xsi:type="string">test_type:3rd_party_test</data>
8688
<constraint name="Magento\Checkout\Test\Constraint\AssertOrderSuccessPlacedMessage" />
89+
<constraint name="Magento\Checkout\Test\Constraint\AssertMinicartEmpty" />
8790
<constraint name="Magento\Sales\Test\Constraint\AssertOrderGrandTotal" />
8891
<constraint name="Magento\Sales\Test\Constraint\AssertOrderCommentsHistory" />
8992
</variation>

0 commit comments

Comments
 (0)