Skip to content

Commit 62326e7

Browse files
author
ybohaienko
committed
Merge branch '2.3-develop' into MAGETWO-62107
2 parents fd8024f + fe11b39 commit 62326e7

File tree

115 files changed

+652
-289
lines changed

Some content is hidden

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

115 files changed

+652
-289
lines changed

app/code/Magento/Backend/Block/Dashboard/Bar.php

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,6 @@ public function getTotals()
3838
*/
3939
public function addTotal($label, $value, $isQuantity = false)
4040
{
41-
/*if (!$isQuantity) {
42-
$value = $this->format($value);
43-
$decimals = substr($value, -2);
44-
$value = substr($value, 0, -2);
45-
} else {
46-
$value = ($value != '')?$value:0;
47-
$decimals = '';
48-
}*/
4941
if (!$isQuantity) {
5042
$value = $this->format($value);
5143
}
Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Backup\Test\Unit\Model;
9+
10+
use Magento\Backup\Model\Db;
11+
use Magento\Backup\Model\ResourceModel\Db as DbResource;
12+
use Magento\Framework\App\ResourceConnection;
13+
use Magento\Framework\Backup\Db\BackupInterface;
14+
use Magento\Framework\DataObject;
15+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
16+
17+
class DbTest extends \PHPUnit\Framework\TestCase
18+
{
19+
/**
20+
* @var ObjectManager
21+
*/
22+
private $objectManager;
23+
24+
/**
25+
* @var Db
26+
*/
27+
private $dbModel;
28+
29+
/**
30+
* @var DbResource|\PHPUnit_Framework_MockObject_MockObject
31+
*/
32+
private $dbResourceMock;
33+
34+
/**
35+
* @var ResourceConnection|\PHPUnit_Framework_MockObject_MockObject
36+
*/
37+
private $connectionResourceMock;
38+
39+
protected function setUp()
40+
{
41+
$this->dbResourceMock = $this->getMockBuilder(DbResource::class)
42+
->disableOriginalConstructor()
43+
->getMock();
44+
$this->connectionResourceMock = $this->getMockBuilder(ResourceConnection::class)
45+
->disableOriginalConstructor()
46+
->getMock();
47+
48+
$this->objectManager = new ObjectManager($this);
49+
$this->dbModel = $this->objectManager->getObject(
50+
Db::class,
51+
[
52+
'resourceDb' => $this->dbResourceMock,
53+
'resource' => $this->connectionResourceMock
54+
]
55+
);
56+
}
57+
58+
public function testGetResource()
59+
{
60+
self::assertEquals($this->dbResourceMock, $this->dbModel->getResource());
61+
}
62+
63+
public function testGetTables()
64+
{
65+
$tables = [];
66+
$this->dbResourceMock->expects($this->once())
67+
->method('getTables')
68+
->willReturn($tables);
69+
70+
self::assertEquals($tables, $this->dbModel->getTables());
71+
}
72+
73+
public function testGetTableCreateScript()
74+
{
75+
$tableName = 'some_table';
76+
$script = 'script';
77+
$this->dbResourceMock->expects($this->once())
78+
->method('getTableCreateScript')
79+
->with($tableName, false)
80+
->willReturn($script);
81+
82+
self::assertEquals($script, $this->dbModel->getTableCreateScript($tableName, false));
83+
}
84+
85+
public function testGetTableDataDump()
86+
{
87+
$tableName = 'some_table';
88+
$dump = 'dump';
89+
$this->dbResourceMock->expects($this->once())
90+
->method('getTableDataDump')
91+
->with($tableName)
92+
->willReturn($dump);
93+
94+
self::assertEquals($dump, $this->dbModel->getTableDataDump($tableName));
95+
}
96+
97+
public function testGetHeader()
98+
{
99+
$header = 'header';
100+
$this->dbResourceMock->expects($this->once())
101+
->method('getHeader')
102+
->willReturn($header);
103+
104+
self::assertEquals($header, $this->dbModel->getHeader());
105+
}
106+
107+
public function testGetFooter()
108+
{
109+
$footer = 'footer';
110+
$this->dbResourceMock->expects($this->once())
111+
->method('getFooter')
112+
->willReturn($footer);
113+
114+
self::assertEquals($footer, $this->dbModel->getFooter());
115+
}
116+
117+
public function testRenderSql()
118+
{
119+
$header = 'header';
120+
$script = 'script';
121+
$tableName = 'some_table';
122+
$tables = [$tableName, $tableName];
123+
$dump = 'dump';
124+
$footer = 'footer';
125+
126+
$this->dbResourceMock->expects($this->once())
127+
->method('getTables')
128+
->willReturn($tables);
129+
$this->dbResourceMock->expects($this->once())
130+
->method('getHeader')
131+
->willReturn($header);
132+
$this->dbResourceMock->expects($this->exactly(2))
133+
->method('getTableCreateScript')
134+
->with($tableName, true)
135+
->willReturn($script);
136+
$this->dbResourceMock->expects($this->exactly(2))
137+
->method('getTableDataDump')
138+
->with($tableName)
139+
->willReturn($dump);
140+
$this->dbResourceMock->expects($this->once())
141+
->method('getFooter')
142+
->willReturn($footer);
143+
144+
self::assertEquals(
145+
$header . $script . $dump . $script . $dump . $footer,
146+
$this->dbModel->renderSql()
147+
);
148+
}
149+
150+
public function testCreateBackup()
151+
{
152+
/** @var BackupInterface|\PHPUnit_Framework_MockObject_MockObject $backupMock */
153+
$backupMock = $this->getMockBuilder(BackupInterface::class)->getMock();
154+
/** @var DataObject $tableStatus */
155+
$tableStatus = new DataObject();
156+
157+
$tableName = 'some_table';
158+
$tables = [$tableName];
159+
$header = 'header';
160+
$footer = 'footer';
161+
$dropSql = 'drop_sql';
162+
$createSql = 'create_sql';
163+
$beforeSql = 'before_sql';
164+
$afterSql = 'after_sql';
165+
$dataSql = 'data_sql';
166+
$foreignKeysSql = 'foreign_keys';
167+
$triggersSql = 'triggers_sql';
168+
$rowsCount = 2;
169+
$dataLength = 1;
170+
171+
$this->dbResourceMock->expects($this->once())
172+
->method('beginTransaction');
173+
$this->dbResourceMock->expects($this->once())
174+
->method('commitTransaction');
175+
$this->dbResourceMock->expects($this->once())
176+
->method('getTables')
177+
->willReturn($tables);
178+
$this->dbResourceMock->expects($this->once())
179+
->method('getTableDropSql')
180+
->willReturn($dropSql);
181+
$this->dbResourceMock->expects($this->once())
182+
->method('getTableCreateSql')
183+
->with($tableName, false)
184+
->willReturn($createSql);
185+
$this->dbResourceMock->expects($this->once())
186+
->method('getTableDataBeforeSql')
187+
->with($tableName)
188+
->willReturn($beforeSql);
189+
$this->dbResourceMock->expects($this->once())
190+
->method('getTableDataAfterSql')
191+
->with($tableName)
192+
->willReturn($afterSql);
193+
$this->dbResourceMock->expects($this->once())
194+
->method('getTableDataSql')
195+
->with($tableName, $rowsCount, 0)
196+
->willReturn($dataSql);
197+
$this->dbResourceMock->expects($this->once())
198+
->method('getTableStatus')
199+
->with($tableName)
200+
->willReturn($tableStatus);
201+
$this->dbResourceMock->expects($this->once())
202+
->method('getTables')
203+
->willReturn($createSql);
204+
$this->dbResourceMock->expects($this->once())
205+
->method('getHeader')
206+
->willReturn($header);
207+
$this->dbResourceMock->expects($this->once())
208+
->method('getTableHeader')
209+
->willReturn($header);
210+
$this->dbResourceMock->expects($this->once())
211+
->method('getFooter')
212+
->willReturn($footer);
213+
$this->dbResourceMock->expects($this->once())
214+
->method('getTableForeignKeysSql')
215+
->willReturn($foreignKeysSql);
216+
$this->dbResourceMock->expects($this->once())
217+
->method('getTableTriggersSql')
218+
->willReturn($triggersSql);
219+
$backupMock->expects($this->once())
220+
->method('open');
221+
$backupMock->expects($this->once())
222+
->method('close');
223+
224+
$tableStatus->setRows($rowsCount);
225+
$tableStatus->setDataLength($dataLength);
226+
227+
$backupMock->expects($this->any())
228+
->method('write')
229+
->withConsecutive(
230+
[$this->equalTo($header)],
231+
[$this->equalTo($header . $dropSql . "\n")],
232+
[$this->equalTo($createSql . "\n")],
233+
[$this->equalTo($beforeSql)],
234+
[$this->equalTo($dataSql)],
235+
[$this->equalTo($afterSql)],
236+
[$this->equalTo($foreignKeysSql)],
237+
[$this->equalTo($triggersSql)],
238+
[$this->equalTo($footer)]
239+
);
240+
241+
$this->dbModel->createBackup($backupMock);
242+
}
243+
}

app/code/Magento/Braintree/view/frontend/web/template/payment/paypal.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
</span>
4646
<div class="field-tooltip-content"
4747
data-target="dropdown"
48-
translate="'We store you payment information securely on Braintree servers via SSL.'"></div>
48+
translate="'We store your payment information securely on Braintree servers via SSL.'"></div>
4949
</div>
5050
</div>
5151
<!-- /ko -->

app/code/Magento/Bundle/Test/Mftf/Test/AdminRemoveDefaultImageBundleProductTest.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,7 @@
7474
<!-- Remove image from product -->
7575
<actionGroup ref="removeProductImage" stepKey="removeProductImage"/>
7676

77-
<!-- Skip success message check when saving product because of bug MAGETWO-91177 -->
78-
<!-- actionGroup ref="saveProductForm" stepKey="saveProductFormAfterRemove"/-->
79-
<click selector="{{AdminProductFormActionSection.saveButton}}" stepKey="saveProductFormAfterRemove"/>
77+
<actionGroup ref="saveProductForm" stepKey="saveProductFormAfterRemove"/>
8078

8179
<!-- Assert product image not in admin product form -->
8280
<actionGroup ref="assertProductImageNotInAdminProductPage" stepKey="assertProductImageNotInAdminProductPage"/>

app/code/Magento/Captcha/Observer/CheckGuestCheckoutObserver.php

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,14 @@ public function execute(\Magento\Framework\Event\Observer $observer)
6666
$formId = 'guest_checkout';
6767
$captchaModel = $this->_helper->getCaptcha($formId);
6868
$checkoutMethod = $this->_typeOnepage->getQuote()->getCheckoutMethod();
69-
if ($checkoutMethod == \Magento\Checkout\Model\Type\Onepage::METHOD_GUEST) {
70-
if ($captchaModel->isRequired()) {
71-
$controller = $observer->getControllerAction();
72-
if (!$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))
73-
) {
74-
$this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
75-
$result = ['error' => 1, 'message' => __('Incorrect CAPTCHA')];
76-
$controller->getResponse()->representJson($this->jsonHelper->jsonEncode($result));
77-
}
69+
if ($checkoutMethod == \Magento\Checkout\Model\Type\Onepage::METHOD_GUEST
70+
&& $captchaModel->isRequired()
71+
) {
72+
$controller = $observer->getControllerAction();
73+
if (!$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))) {
74+
$this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
75+
$result = ['error' => 1, 'message' => __('Incorrect CAPTCHA')];
76+
$controller->getResponse()->representJson($this->jsonHelper->jsonEncode($result));
7877
}
7978
}
8079

app/code/Magento/Captcha/Observer/CheckRegisterCheckoutObserver.php

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,15 +66,14 @@ public function execute(\Magento\Framework\Event\Observer $observer)
6666
$formId = 'register_during_checkout';
6767
$captchaModel = $this->_helper->getCaptcha($formId);
6868
$checkoutMethod = $this->_typeOnepage->getQuote()->getCheckoutMethod();
69-
if ($checkoutMethod == \Magento\Checkout\Model\Type\Onepage::METHOD_REGISTER) {
70-
if ($captchaModel->isRequired()) {
71-
$controller = $observer->getControllerAction();
72-
if (!$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))
73-
) {
74-
$this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
75-
$result = ['error' => 1, 'message' => __('Incorrect CAPTCHA')];
76-
$controller->getResponse()->representJson($this->jsonHelper->jsonEncode($result));
77-
}
69+
if ($checkoutMethod == \Magento\Checkout\Model\Type\Onepage::METHOD_REGISTER
70+
&& $captchaModel->isRequired()
71+
) {
72+
$controller = $observer->getControllerAction();
73+
if (!$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))) {
74+
$this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
75+
$result = ['error' => 1, 'message' => __('Incorrect CAPTCHA')];
76+
$controller->getResponse()->representJson($this->jsonHelper->jsonEncode($result));
7877
}
7978
}
8079

app/code/Magento/Captcha/Observer/CheckUserForgotPasswordBackendObserver.php

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,18 +69,17 @@ public function execute(\Magento\Framework\Event\Observer $observer)
6969
$controller = $observer->getControllerAction();
7070
$email = (string)$observer->getControllerAction()->getRequest()->getParam('email');
7171
$params = $observer->getControllerAction()->getRequest()->getParams();
72-
if (!empty($email) && !empty($params)) {
73-
if ($captchaModel->isRequired()) {
74-
if (!$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))
75-
) {
76-
$this->_session->setEmail((string)$controller->getRequest()->getPost('email'));
77-
$this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
78-
$this->messageManager->addError(__('Incorrect CAPTCHA'));
79-
$controller->getResponse()->setRedirect(
80-
$controller->getUrl('*/*/forgotpassword', ['_nosecret' => true])
81-
);
82-
}
83-
}
72+
if (!empty($email)
73+
&& !empty($params)
74+
&& $captchaModel->isRequired()
75+
&& !$captchaModel->isCorrect($this->captchaStringResolver->resolve($controller->getRequest(), $formId))
76+
) {
77+
$this->_session->setEmail((string)$controller->getRequest()->getPost('email'));
78+
$this->_actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
79+
$this->messageManager->addError(__('Incorrect CAPTCHA'));
80+
$controller->getResponse()->setRedirect(
81+
$controller->getUrl('*/*/forgotpassword', ['_nosecret' => true])
82+
);
8483
}
8584

8685
return $this;

app/code/Magento/Captcha/Observer/CheckUserLoginBackendObserver.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,11 @@ public function execute(\Magento\Framework\Event\Observer $observer)
5252
$formId = 'backend_login';
5353
$captchaModel = $this->_helper->getCaptcha($formId);
5454
$login = $observer->getEvent()->getUsername();
55-
if ($captchaModel->isRequired($login)) {
56-
if (!$captchaModel->isCorrect($this->captchaStringResolver->resolve($this->_request, $formId))) {
57-
$captchaModel->logAttempt($login);
58-
throw new PluginAuthenticationException(__('Incorrect CAPTCHA.'));
59-
}
55+
if ($captchaModel->isRequired($login)
56+
&& !$captchaModel->isCorrect($this->captchaStringResolver->resolve($this->_request, $formId))
57+
) {
58+
$captchaModel->logAttempt($login);
59+
throw new PluginAuthenticationException(__('Incorrect CAPTCHA.'));
6060
}
6161
$captchaModel->logAttempt($login);
6262

app/code/Magento/Catalog/Block/Adminhtml/Product/Helper/Form/Gallery.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public function getElementHtml()
102102
*/
103103
public function getImages()
104104
{
105-
return $this->registry->registry('current_product')->getData('media_gallery') ?: null;
105+
return $this->getDataObject()->getData('media_gallery') ?: null;
106106
}
107107

108108
/**

app/code/Magento/Catalog/Controller/Adminhtml/Product/Attribute/Validate.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,7 @@ public function execute()
9292
$attributeSet->setEntityTypeId($this->_entityTypeId)->load($setName, 'attribute_set_name');
9393
if ($attributeSet->getId()) {
9494
$setName = $this->_objectManager->get(\Magento\Framework\Escaper::class)->escapeHtml($setName);
95-
$this->messageManager->addError(
96-
__('A "%1" attribute set name already exists. Create a new name and try again.', $setName)
97-
);
95+
$this->messageManager->addErrorMessage(__('An attribute set named \'%1\' already exists.', $setName));
9896

9997
$layout = $this->layoutFactory->create();
10098
$layout->initMessages();

0 commit comments

Comments
 (0)