Skip to content

Commit 96055b2

Browse files
Merge remote-tracking branch 'remotes/github/MAGETWO-99490' into EPAM-PR-80
2 parents f35c6eb + 6153cf3 commit 96055b2

File tree

8 files changed

+198
-0
lines changed

8 files changed

+198
-0
lines changed

app/code/Magento/GiftMessage/Block/Message/Multishipping/Plugin/ItemsBox.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,15 @@ public function __construct(MessageHelper $helper)
4343
*/
4444
public function afterGetItemsBoxTextAfter(ShippingBlock $subject, $itemsBoxText, DataObject $addressEntity)
4545
{
46+
if ($addressEntity->getGiftMessageId() === null) {
47+
$addressEntity->setGiftMessageId($addressEntity->getQuote()->getGiftMessageId());
48+
}
49+
foreach ($addressEntity->getAllItems() as $item) {
50+
if ($item->getGiftMessageId() === null) {
51+
$item->setGiftMessageId($item->getQuoteItem()->getGiftMessageId());
52+
}
53+
}
54+
4655
return $itemsBoxText . $this->helper->getInline('multishipping_address', $addressEntity);
4756
}
4857
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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="AdminOrderGiftSection">
12+
<element name="orderItemGiftOptionsLink" type="text" selector="//table[contains(@class, 'edit-order-table')]//tbody[contains(.,'{{productName}}')]//a[contains(@class, 'action-link')]" parameterized="true"/>
13+
<element name="orderItemGiftMessage" type="textarea" selector="#current_item_giftmessage_message" />
14+
</section>
15+
</sections>
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="StorefrontCheckoutCartGiftSection">
12+
<element name="cartItemGiftMessage" type="text" selector="//tbody[contains(.,'{{productName}}')]//div[@class='gift-message']//textarea" parameterized="true"/>
13+
<element name="orderNumber" type="text" selector="(//div[contains(@class, 'orders-succeed')]//a)[{{blockNumber}}]" parameterized="true"/>
14+
<element name="viewOrder" type="text" selector="//table[@id='my-orders-table']//tr[contains(.,'{{orderNumber}}')]//a[contains(@class, 'action view')]" parameterized="true"/>
15+
</section>
16+
</sections>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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="StorefrontOrderGiftSection">
12+
<element name="giftMessageLink" type="button" selector=".table-wrapper.order-items .options .action.show"/>
13+
<element name="giftMessage" type="text" selector=".order-gift-message .item-message" />
14+
</section>
15+
</sections>

app/code/Magento/Multishipping/Test/Mftf/ActionGroup/CheckingWithMultipleAddressesActionGroup.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,22 @@
2323
<click stepKey="clickOnUpdateAddress" selector="{{SingleShippingSection.updateAddress}}" after="selectSecondShippingMethod" />
2424
<waitForPageLoad stepKey="waitForShippingInformation" after="clickOnUpdateAddress" />
2525
</actionGroup>
26+
<actionGroup name="StorefrontCheckoutWithMultipleAddressesActionGroup">
27+
<click selector="{{SingleShippingSection.checkoutWithMultipleAddresses}}" stepKey="clickOnCheckoutWithMultipleAddresses"/>
28+
<waitForPageLoad stepKey="waitForMultipleAddressPageLoad"/>
29+
</actionGroup>
30+
<actionGroup name="StorefrontSelectAddressActionGroup">
31+
<arguments>
32+
<argument name="sequenceNumber" type="string" defaultValue="1"/>
33+
<argument name="option" type="string" defaultValue="1"/>
34+
</arguments>
35+
<selectOption selector="{{MultishippingSection.selectShippingAddress(sequenceNumber)}}" userInput="{{option}}" stepKey="selectShippingAddress"/>
36+
</actionGroup>
37+
<actionGroup name="StorefrontSaveAddressActionGroup">
38+
<click stepKey="clickOnUpdateAddress" selector="{{SingleShippingSection.updateAddress}}"/>
39+
<waitForPageLoad stepKey="waitForShippingInformationAfterUpdated" time="90"/>
40+
<click stepKey="goToShippingInformation" selector="{{SingleShippingSection.goToShippingInfo}}"/>
41+
<waitForPageLoad stepKey="waitForShippingPageLoad"/>
42+
</actionGroup>
2643
</actionGroups>
2744

app/code/Magento/Multishipping/Test/Mftf/ActionGroup/SelectShippingInfoActionGroup.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,9 @@
2929
<waitForPageLoad stepKey="waitForRadioOptions"/>
3030
<click stepKey="goToBillingInformation" selector="{{ShippingMethodSection.goToBillingInfo}}"/>
3131
</actionGroup>
32+
<actionGroup name="StorefrontLeaveDefaultShippingMethodsAndGoToBillingInfoActionGroup">
33+
<waitForPageLoad stepKey="waitForShippingInfo"/>
34+
<click stepKey="goToBillingInformation" selector="{{ShippingMethodSection.goToBillingInfo}}"/>
35+
</actionGroup>
3236
</actionGroups>
3337

app/code/Magento/Multishipping/Test/Mftf/Section/MultishippingSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
<element name="firstShippingAddressOption" type="select" selector="//table//tbody//tr[position()=1]//td[position()=3]//div//select"/>
2121
<element name="secondShippingAddressValue" type="select" selector="//table//tbody//tr[position()=2]//td[position()=3]//div//select//option[1]"/>
2222
<element name="secondShippingAddressOption" type="select" selector="//table//tbody//tr[position()=2]//td[position()=3]//div//select"/>
23+
<element name="selectShippingAddress" type="select" selector="(//table[@id='multiship-addresses-table'] //div[@class='field address'] //select)[{{sequenceNumber}}]" parameterized="true"/>
2324
</section>
2425
</sections>
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
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="StorefrontCheckoutWithMultipleAddressesTest">
12+
<annotations>
13+
<features value="Multishipping"/>
14+
<stories value="Multiple Shipping"/>
15+
<title value="Place an order with three different addresses"/>
16+
<description value="Place an order with three different addresses"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="MC-17461"/>
19+
<useCaseId value="MAGETWO-99490"/>
20+
<group value="Multishipment"/>
21+
</annotations>
22+
<before>
23+
<!-- Login as Admin -->
24+
<actionGroup ref="LoginAsAdmin" stepKey="login"/>
25+
<!-- Set configurations -->
26+
<magentoCLI command="config:set multishipping/options/checkout_multiple 1" stepKey="allowShippingToMultipleAddresses"/>
27+
<!-- Create simple products -->
28+
<createData entity="SimpleSubCategory" stepKey="createCategory"/>
29+
<createData entity="SimpleProduct" stepKey="firstProduct">
30+
<requiredEntity createDataKey="createCategory"/>
31+
</createData>
32+
<createData entity="SimpleProduct" stepKey="secondProduct">
33+
<requiredEntity createDataKey="createCategory"/>
34+
</createData>
35+
<createData entity="Customer_US_UK_DE" stepKey="createCustomerWithMultipleAddresses"/>
36+
</before>
37+
<after>
38+
<!-- Delete created data -->
39+
<actionGroup ref="logout" stepKey="logout"/>
40+
<deleteData createDataKey="firstProduct" stepKey="deleteFirstProduct"/>
41+
<deleteData createDataKey="secondProduct" stepKey="deleteSecondProduct"/>
42+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
43+
<deleteData createDataKey="createCustomerWithMultipleAddresses" stepKey="deleteCustomer"/>
44+
</after>
45+
<!-- Login to the Storefront as created customer -->
46+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginAsCustomer">
47+
<argument name="Customer" value="$$createCustomerWithMultipleAddresses$$"/>
48+
</actionGroup>
49+
<!-- Open the first product page -->
50+
<actionGroup ref="StorefrontOpenProductPageActionGroup" stepKey="goToFirstProductPage">
51+
<argument name="productUrl" value="$$firstProduct.custom_attributes[url_key]$$"/>
52+
</actionGroup>
53+
<!-- Add the first product to the Shopping Cart -->
54+
<actionGroup ref="AddProductWithQtyToCartFromStorefrontProductPage" stepKey="addFirstProductToCart">
55+
<argument name="productName" value="$$firstProduct.name$$"/>
56+
<argument name="productQty" value="1"/>
57+
</actionGroup>
58+
<!-- Open the second product page -->
59+
<actionGroup ref="StorefrontOpenProductPageActionGroup" stepKey="goToSecondProductPage">
60+
<argument name="productUrl" value="$$secondProduct.custom_attributes[url_key]$$"/>
61+
</actionGroup>
62+
<!-- Add the second product to the Shopping Cart -->
63+
<actionGroup ref="AddProductWithQtyToCartFromStorefrontProductPage" stepKey="addSecondProductToCart">
64+
<argument name="productName" value="$$secondProduct.name$$"/>
65+
<argument name="productQty" value="1"/>
66+
</actionGroup>
67+
<!--Go to Cart -->
68+
<actionGroup ref="StorefrontOpenCartFromMinicartActionGroup" stepKey="openCart"/>
69+
<!--Check Out with Multiple Addresses -->
70+
<actionGroup ref="StorefrontCheckoutWithMultipleAddressesActionGroup" stepKey="checkoutWithMultipleAddresses"/>
71+
<!-- Select different addresses and click 'Go to Shipping Information' -->
72+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectFirstAddress">
73+
<argument name="sequenceNumber" value="1"/>
74+
<argument name="option" value="John Doe, 368 Broadway St. 113, New York, New York 10001, United States"/>
75+
</actionGroup>
76+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectSecondAddress">
77+
<argument name="sequenceNumber" value="2"/>
78+
<argument name="option" value="John Doe, Augsburger Strabe 41, Berlin, 10789, Germany"/>
79+
</actionGroup>
80+
<actionGroup ref="StorefrontSaveAddressActionGroup" stepKey="saveAddresses"/>
81+
<!-- Click 'Continue to Billing Information' -->
82+
<actionGroup ref="StorefrontLeaveDefaultShippingMethodsAndGoToBillingInfoActionGroup" stepKey="useDefaultShippingMethod"/>
83+
<!-- Click 'Go to Review Your Order' -->
84+
<actionGroup ref="SelectBillingInfoActionGroup" stepKey="useDefaultBillingMethod"/>
85+
<!-- Click 'Place Order' -->
86+
<actionGroup ref="PlaceOrderActionGroup" stepKey="placeOrder"/>
87+
<!-- Open the first product page -->
88+
<actionGroup ref="StorefrontOpenProductPageActionGroup" stepKey="goToFirstProductPageSecondTime">
89+
<argument name="productUrl" value="$$firstProduct.custom_attributes[url_key]$$"/>
90+
</actionGroup>
91+
<!-- Add three identical products to the Shopping Cart -->
92+
<actionGroup ref="AddProductWithQtyToCartFromStorefrontProductPage" stepKey="addIdenticalProductsToCart">
93+
<argument name="productName" value="$$firstProduct.name$$"/>
94+
<argument name="productQty" value="3"/>
95+
</actionGroup>
96+
<!--Go to Cart -->
97+
<actionGroup ref="StorefrontOpenCartFromMinicartActionGroup" stepKey="openCartWithIdenticalProducts"/>
98+
<!--Check Out with Multiple Addresses -->
99+
<actionGroup ref="StorefrontCheckoutWithMultipleAddressesActionGroup" stepKey="checkoutWithThreeDifferentAddresses"/>
100+
<!-- Select different addresses and click 'Go to Shipping Information' -->
101+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectFirstAddressFromThree">
102+
<argument name="sequenceNumber" value="1"/>
103+
<argument name="option" value="John Doe, 368 Broadway St. 113, New York, New York 10001, United States"/>
104+
</actionGroup>
105+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectSecondAddressFromThree">
106+
<argument name="sequenceNumber" value="2"/>
107+
<argument name="option" value="John Doe, Augsburger Strabe 41, Berlin, 10789, Germany"/>
108+
</actionGroup>
109+
<actionGroup ref="StorefrontSelectAddressActionGroup" stepKey="selectThirdAddressFromThree">
110+
<argument name="sequenceNumber" value="3"/>
111+
<argument name="option" value="Jane Doe, 172, Westminster Bridge Rd, London, SE1 7RW, United Kingdom"/>
112+
</actionGroup>
113+
<actionGroup ref="StorefrontSaveAddressActionGroup" stepKey="saveThreeDifferentAddresses"/>
114+
<!-- Click 'Continue to Billing Information' -->
115+
<actionGroup ref="StorefrontLeaveDefaultShippingMethodsAndGoToBillingInfoActionGroup" stepKey="useDefaultShippingMethodForIdenticalProducts"/>
116+
<!-- Click 'Go to Review Your Order' -->
117+
<actionGroup ref="SelectBillingInfoActionGroup" stepKey="UseDefaultBillingMethodForIdenticalProducts"/>
118+
<!-- Click 'Place Order' -->
119+
<actionGroup ref="PlaceOrderActionGroup" stepKey="placeOrderWithIdenticalProducts"/>
120+
</test>
121+
</tests>

0 commit comments

Comments
 (0)