Skip to content

Commit 95c8103

Browse files
author
Alexander Akimov
authored
Merge pull request #3091 from magento-tsg/2.2-develop-pr42
[TSG] Backporting for 2.2 (pr42) (2.2.7)
2 parents 07ef8c1 + 5c4c49a commit 95c8103

File tree

23 files changed

+352
-42
lines changed

23 files changed

+352
-42
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminOrderFillBraintreeCreditCardActionGroup">
11+
<arguments>
12+
<argument name="cardData" defaultValue="BraintreeCard"/>
13+
</arguments>
14+
<waitForLoadingMaskToDisappear stepKey="waitLoadingMaskDisappear"/>
15+
<conditionalClick selector="{{AdminOrderFormPaymentSection.braintreeCreditCardMethod}}" dependentSelector="{{AdminOrderFormPaymentSection.braintreeCreditCardMethod}}" visible="true" stepKey="chooseBraintreeCreditCard"/>
16+
<waitForLoadingMaskToDisappear stepKey="waitLoadingMask"/>
17+
<selectOption selector="{{AdminOrderFormPaymentSection.braintreeCcType}}" userInput="{{cardData.cc_type}}" stepKey="fillCc"/>
18+
<!--Fill card number-->
19+
<switchToIFrame selector="{{AdminOrderFormPaymentSection.braintreeCcFrame}}" stepKey="switchToCcIFrame"/>
20+
<fillField selector="{{AdminOrderFormPaymentSection.braintreeCardNumber}}" userInput="{{cardData.card_number}}" stepKey="fillCardNumber"/>
21+
<waitForPageLoad stepKey="waitForFillCardNumber" time="1"/>
22+
<switchToIFrame stepKey="switchToDefaultContext1"/>
23+
<!--Fill card expiration month-->
24+
<switchToIFrame selector="{{AdminOrderFormPaymentSection.braintreeCcExpMonthFrame}}" stepKey="switchToCcExpMonthIFrame"/>
25+
<fillField selector="{{AdminOrderFormPaymentSection.braintreeExpMonth}}" userInput="{{cardData.exp_month}}" stepKey="fillExpMonth"/>
26+
<waitForPageLoad stepKey="waitForFillCardExpMonth" time="1"/>
27+
<switchToIFrame stepKey="switchToDefaultContext2"/>
28+
<!--Fill card expiration year-->
29+
<switchToIFrame selector="{{AdminOrderFormPaymentSection.braintreeCcExpYear}}" stepKey="switchToCcExpYearIFrame"/>
30+
<fillField selector="{{AdminOrderFormPaymentSection.braintreeExpYear}}" userInput="{{cardData.exp_year}}" stepKey="fillExpYear"/>
31+
<waitForPageLoad stepKey="waitForFillCardExpYear" time="1"/>
32+
<switchToIFrame stepKey="switchToDefaultContext3"/>
33+
<!--Fill card CVV-->
34+
<switchToIFrame selector="{{AdminOrderFormPaymentSection.braintreeCvvFrame}}" stepKey="switchToCvvIFrame"/>
35+
<fillField selector="{{AdminOrderFormPaymentSection.braintreeCvv}}" userInput="{{cardData.cvv}}" stepKey="fillCvv"/>
36+
<waitForPageLoad stepKey="waitForFillCardCvv" time="1"/>
37+
<switchToIFrame stepKey="switchToDefaultContext4"/>
38+
</actionGroup>
39+
</actionGroups>

app/code/Magento/Braintree/Test/Mftf/Data/BraintreeData.xml

Lines changed: 54 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,17 @@
4343
<requiredEntity type="merchant_id">DefaultMerchantId</requiredEntity>
4444
<requiredEntity type="public_key">DefaultPublicKey</requiredEntity>
4545
<requiredEntity type="private_key">DefaultPrivateKey</requiredEntity>
46+
<requiredEntity type="active">DefaultActive</requiredEntity>
47+
<requiredEntity type="merchant_account_id">DefaultMerchantAccountId</requiredEntity>
4648
</entity>
4749
<entity name="DefaultTitle" type="title">
4850
<data key="value"/>
4951
</entity>
5052
<entity name="DefaultPaymentAction" type="payment_action">
51-
<data key="value"/>
53+
<data key="value">authorize</data>
5254
</entity>
5355
<entity name="DefaultEnvironment" type="environment">
54-
<data key="value"/>
56+
<data key="value">sandbox</data>
5557
</entity>
5658
<entity name="DefaultMerchantId" type="merchant_id">
5759
<data key="value"/>
@@ -62,4 +64,54 @@
6264
<entity name="DefaultPrivateKey" type="private_key">
6365
<data key="value"/>
6466
</entity>
67+
<entity name="DefaultActive" type="active">
68+
<data key="value">0</data>
69+
</entity>
70+
<entity name="DefaultMerchantAccountId" type="merchant_account_id">
71+
<data key="value"/>
72+
</entity>
73+
74+
<entity name="SandboxBraintreeConfig" type="braintree_config_state">
75+
<requiredEntity type="title">EnabledTitle</requiredEntity>
76+
<requiredEntity type="payment_action">AuthorizePaymentAction</requiredEntity>
77+
<requiredEntity type="environment">SandboxEnvironment</requiredEntity>
78+
<requiredEntity type="merchant_id">EnabledMerchantId</requiredEntity>
79+
<requiredEntity type="public_key">EnabledPublicKey</requiredEntity>
80+
<requiredEntity type="private_key">EnabledPrivateKey</requiredEntity>
81+
<requiredEntity type="active">EnabledActive</requiredEntity>
82+
<requiredEntity type="merchant_account_id">EnabledMerchantAccountId</requiredEntity>
83+
</entity>
84+
<entity name="EnabledTitle" type="title">
85+
<data key="value">Credit Card (Braintree)</data>
86+
</entity>
87+
<entity name="AuthorizePaymentAction" type="payment_action">
88+
<data key="value">authorize</data>
89+
</entity>
90+
<entity name="SandboxEnvironment" type="environment">
91+
<data key="value">sandbox</data>
92+
</entity>
93+
<entity name="EnabledMerchantId" type="merchant_id">
94+
<data key="value">d4pdjhxgjfrsmzbf</data>
95+
</entity>
96+
<entity name="EnabledPublicKey" type="public_key">
97+
<data key="value">m7q4wmh43xrgyrst</data>
98+
</entity>
99+
<entity name="EnabledPrivateKey" type="private_key">
100+
<data key="value">67de364080b1b4e2492d7a3de413a572</data>
101+
</entity>
102+
<entity name="EnabledActive" type="active">
103+
<data key="value">1</data>
104+
</entity>
105+
<entity name="EnabledMerchantAccountId" type="merchant_account_id">
106+
<data key="value">Magneto</data>
107+
</entity>
108+
109+
<entity name="BraintreeCard" type="creditCard">
110+
<data key="cc_type">MasterCard</data>
111+
<data key="card_number">5105105105105100</data>
112+
<data key="exp_month">12</data>
113+
<data key="exp_year">20</data>
114+
<data key="cvv">113</data>
115+
</entity>
116+
65117
</entities>

app/code/Magento/Braintree/Test/Mftf/Metadata/braintree_config-meta.xml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
<operations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/DataGenerator/etc/dataOperation.xsd">
11-
<operation name="CreateBraintreeConfigState" dataType="braintree_config_state" type="create" auth="adminFormKey" url="/admin/system_config/save/section/payment/" method="POST">
11+
<operation name="CreateBraintreeConfigState" dataType="braintree_config_state" type="create" auth="adminFormKey" url="/admin/system_config/save/section/payment/" successRegex="/messages-message-success/" method="POST">
12+
<contentType>application/x-www-form-urlencoded</contentType>
1213
<object key="groups" dataType="braintree_config_state">
1314
<object key="braintree_section" dataType="braintree_config_state">
1415
<object key="groups" dataType="braintree_config_state">
@@ -36,6 +37,18 @@
3637
</object>
3738
</object>
3839
</object>
40+
<object key="braintree_advanced" dataType="braintree_config_state">
41+
<object key="fields" dataType="braintree_config_state">
42+
<object key="merchant_account_id" dataType="merchant_account_id">
43+
<field key="value">string</field>
44+
</object>
45+
</object>
46+
</object>
47+
</object>
48+
<object key="fields" dataType="braintree_config_state">
49+
<object key="active" dataType="active">
50+
<field key="value">integer</field>
51+
</object>
3952
</object>
4053
</object>
4154
</object>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
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="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
11+
<section name="AdminOrderFormPaymentSection">
12+
<element name="braintreeCreditCardMethod" type="radio" selector="#p_method_braintree" timeout="10"/>
13+
<element name="braintreeCcType" type="select" selector="#braintree_cc_type"/>
14+
<element name="braintreeCardNumber" type="input" selector="#credit-card-number"/>
15+
<element name="braintreeExpMonth" type="input" selector="#expiration-month"/>
16+
<element name="braintreeExpYear" type="input" selector="#expiration-year"/>
17+
<element name="braintreeCvv" type="input" selector="#cvv"/>
18+
<element name="braintreeCcFrame" type="iframe" selector="braintree-hosted-field-number"/>
19+
<element name="braintreeCcExpMonthFrame" type="iframe" selector="braintree-hosted-field-expirationMonth"/>
20+
<element name="braintreeCcExpYear" type="iframe" selector="braintree-hosted-field-expirationYear"/>
21+
<element name="braintreeCvvFrame" type="iframe" selector="braintree-hosted-field-cvv"/>
22+
</section>
23+
</sections>
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
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="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="AdminCreateOrderUsingBraintreePaymentTest">
12+
<annotations>
13+
<features value="Backend"/>
14+
<stories value="Creation an admin order using Braintree payment"/>
15+
<title value="Create order using Braintree payment"/>
16+
<description value="Admin should be able to create order using Braintree payment"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MAGETWO-94247"/>
19+
<group value="braintree"/>
20+
</annotations>
21+
22+
<before>
23+
<createData entity="SandboxBraintreeConfig" stepKey="setupBraintree"/>
24+
<createData entity="_defaultCategory" stepKey="createCategory"/>
25+
<createData entity="_defaultProduct" stepKey="createSimpleProduct">
26+
<requiredEntity createDataKey="createCategory"/>
27+
<field key="price">100</field>
28+
</createData>
29+
<createData entity="CustomerEntityOne" stepKey="createCustomer"/>
30+
<createData entity="restrictedWebUser" stepKey="createRestrictedAdmin"/>
31+
32+
<actionGroup ref="LoginToAdminActionGroup" stepKey="loginToBackend"/>
33+
<actionGroup ref="AdminCreateUserRoleActionGroup" stepKey="createRestrictedAdminRole">
34+
<argument name="roleName" value="{{RoleTest.roleName}}"/>
35+
<argument name="resourceAccess" value="Custom"/>
36+
<argument name="resource" value="Magento_Sales::sales"/>
37+
</actionGroup>
38+
<actionGroup ref="AdminAssignUserRoleActionGroup" stepKey="assignAdminRole">
39+
<argument name="user_restricted" value="$$createRestrictedAdmin$$"/>
40+
<argument name="roleName" value="{{RoleTest.roleName}}"/>
41+
</actionGroup>
42+
<actionGroup ref="logout" stepKey="logoutFromBackend"/>
43+
</before>
44+
45+
<after>
46+
<actionGroup ref="LoginToAdminActionGroup" stepKey="loginToBackendWithDefaultAdmin"/>
47+
<!--Remove created admin user-->
48+
<actionGroup ref="AdminDeleteUserActionGroup" stepKey="removeAdminUser">
49+
<argument name="user_restricted" value="$$createRestrictedAdmin$$"/>
50+
</actionGroup>
51+
<!--Remove created admin user role-->
52+
<actionGroup ref="AdminDeleteUserRoleActionGroup" stepKey="removeUserRole">
53+
<argument name="roleName" value="{{RoleTest.roleName}}"/>
54+
</actionGroup>
55+
<actionGroup ref="logout" stepKey="logoutDefaultAdminFromBackend"/>
56+
<createData entity="DefaultBraintreeConfig" stepKey="restoreBraintree"/>
57+
<deleteData createDataKey="createSimpleProduct" stepKey="removeSimpleProduct"/>
58+
<deleteData createDataKey="createCustomer" stepKey="removeCustomer"/>
59+
</after>
60+
<!--Login with restricted user-->
61+
<amOnPage url="{{AdminLoginPage.url}}" stepKey="amOnAdminLoginPage"/>
62+
<waitForPageLoad stepKey="waitForLoginPageLoad"/>
63+
<fillField selector="{{AdminLoginFormSection.username}}" userInput="$$createRestrictedAdmin.username$$" stepKey="fillUsername"/>
64+
<fillField selector="{{AdminLoginFormSection.password}}" userInput="$$createRestrictedAdmin.password$$" stepKey="fillPassword"/>
65+
<click selector="{{AdminLoginFormSection.signIn}}" stepKey="clickOnSignIn"/>
66+
<!--Navigate to orders page-->
67+
<amOnPage url="{{AdminOrdersPage.url}}" stepKey="navigateToOrderIndexPage"/>
68+
<waitForPageLoad time="30" stepKey="waitForIndexPageLoad"/>
69+
<see selector="{{AdminHeaderSection.pageTitle}}" userInput="Orders" stepKey="seeIndexPageTitle"/>
70+
<!--Create new order-->
71+
<click selector="{{OrdersGridSection.createNewOrder}}" stepKey="clickCreateNewOrder"/>
72+
<!--Choose customer-->
73+
<actionGroup ref="chooseOrderCustomer" stepKey="selectCustomer">
74+
<argument name="customer" value="$$createCustomer$$"/>
75+
</actionGroup>
76+
<see selector="{{AdminHeaderSection.pageTitle}}" userInput="Create New Order" stepKey="seeNewOrderPageTitle"/>
77+
<!--Add product to order-->
78+
<actionGroup ref="addSimpleProductToOrder" stepKey="addSimpleProductToOrder">
79+
<argument name="product" value="$$createSimpleProduct$$"/>
80+
</actionGroup>
81+
<!--Select shipping-->
82+
<actionGroup ref="orderSelectFlatRateShipping" stepKey="selectFlatRateShipping"/>
83+
<!--Fill payment method-->
84+
<actionGroup ref="AdminOrderFillBraintreeCreditCardActionGroup" stepKey="selectBraintreeCreditCard"/>
85+
<!--Submit Order and verify information-->
86+
<click selector="{{AdminOrderFormActionSection.submitOrder}}" stepKey="clickSubmitOrder"/>
87+
<seeInCurrentUrl url="{{AdminOrderDetailsPage.url}}" stepKey="seeViewOrderPage"/>
88+
<see selector="{{AdminMessagesSection.success}}" userInput="You created the order." stepKey="seeOrderSuccessMessage"/>
89+
<actionGroup ref="logout" stepKey="logoutRestrictedAdminFromBackend"/>
90+
</test>
91+
</tests>

app/code/Magento/Braintree/etc/acl.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,15 @@
1414
<resource id="Magento_Braintree::settlement_report" title="Braintree Settlement" translate="title" sortOrder="80" />
1515
</resource>
1616
</resource>
17+
<resource id="Magento_Sales::sales">
18+
<resource id="Magento_Sales::sales_operation">
19+
<resource id="Magento_Sales::sales_order">
20+
<resource id="Magento_Sales::actions">
21+
<resource id="Magento_Braintree::get_client_token" title="Get Client Token Braintree" sortOrder="170" />
22+
</resource>
23+
</resource>
24+
</resource>
25+
</resource>
1726
</resource>
1827
</resources>
1928
</acl>

app/code/Magento/Customer/Test/Mftf/Data/AddressData.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<data key="customer_id">12</data>
1414
<requiredEntity type="region">CustomerRegionOne</requiredEntity>
1515
<data key="region_id">0</data>
16-
<data key="country_id">USA</data>
16+
<data key="country_id">US</data>
1717
<array key="street">
1818
<item>7700 W Parmer Ln</item>
1919
<item>Bld D</item>

app/code/Magento/Multishipping/Model/Checkout/Type/Multishipping.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,7 @@ protected function _prepareOrder(\Magento\Quote\Model\Quote\Address $address)
686686
$order->setIsVirtual(1);
687687
} else {
688688
$order->setShippingAddress($this->quoteAddressToOrderAddress->convert($address));
689+
$order->setShippingMethod($address->getShippingMethod());
689690
}
690691

691692
$order->setPayment($this->quotePaymentToOrderPayment->convert($quote->getPayment()));

app/code/Magento/Multishipping/Test/Unit/Model/Checkout/Type/MultishippingTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,11 +661,13 @@ private function getOrderMock(
661661
'getId',
662662
'getCanSendNewEmailFlag',
663663
'getItems',
664+
'setShippingMethod',
664665
]
665666
)->getMock();
666667
$orderMock->method('setQuote')->with($this->quoteMock);
667668
$orderMock->method('setBillingAddress')->with($orderAddressMock)->willReturnSelf();
668669
$orderMock->method('setShippingAddress')->with($orderAddressMock)->willReturnSelf();
670+
$orderMock->expects($this->once())->method('setShippingMethod')->with('carrier')->willReturnSelf();
669671
$orderMock->method('setPayment')->with($orderPaymentMock)->willReturnSelf();
670672
$orderMock->method('addItem')->with($orderItemMock)->willReturnSelf();
671673
$orderMock->method('getIncrementId')->willReturn('1');

app/code/Magento/ProductVideo/view/frontend/web/js/fotorama-add-video-events.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ define([
444444
scriptTag = document.getElementsByTagName('script')[0];
445445

446446
element.async = true;
447-
element.src = 'https://secure-a.vimeocdn.com/js/froogaloop2.min.js';
447+
element.src = 'https://f.vimeocdn.com/js/froogaloop2.min.js';
448448

449449
/**
450450
* Vimeo js framework on load callback.

0 commit comments

Comments
 (0)