Skip to content

Commit 143ca44

Browse files
🔃 [EngCom] Public Pull Requests - 2.2-develop
Accepted Public Pull Requests: - #13943: #12405: Impossible to create a new storeview (by @hostep) - #13878: Issues 13769. Fix wrong info about sent email in order sender. (by @pawcioma) Fixed GitHub Issues: - #12405: Magento 2.2.1 - Impossible to create a new storeview (reported by @hostep) has been fixed in #13943 by @hostep in 2.2-develop branch Related commits: 1. 5b6df42 - #12421: 'Requested store is not found' when trying to create a store view in the back end (reported by @Eminee) has been fixed in #13943 by @hostep in 2.2-develop branch Related commits: 1. 5b6df42 - #13769: Order Email Sender (reported by @pawcioma) has been fixed in #13878 by @pawcioma in 2.2-develop branch Related commits: 1. 1c7e3a1
2 parents 05ac0d1 + 4b45b5e commit 143ca44

File tree

3 files changed

+54
-20
lines changed

3 files changed

+54
-20
lines changed

app/code/Magento/Config/etc/module.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,9 @@
66
*/
77
-->
88
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
9-
<module name="Magento_Config" setup_version="2.0.0"/>
9+
<module name="Magento_Config" setup_version="2.0.0">
10+
<sequence>
11+
<module name="Magento_Store"/>
12+
</sequence>
13+
</module>
1014
</config>

app/code/Magento/Sales/Model/Order/Email/Sender.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ protected function checkAndSend(Order $order)
8484
$sender->sendCopyTo();
8585
} catch (\Exception $e) {
8686
$this->logger->error($e->getMessage());
87+
88+
return false;
8789
}
8890

8991
return true;

app/code/Magento/Sales/Test/Unit/Model/Order/Email/Sender/OrderSenderTest.php

Lines changed: 47 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,11 @@ protected function setUp()
5353
* @param int $configValue
5454
* @param bool|null $forceSyncMode
5555
* @param bool|null $emailSendingResult
56-
* @dataProvider sendDataProvider
56+
* @param $senderSendException
5757
* @return void
58+
* @dataProvider sendDataProvider
5859
*/
59-
public function testSend($configValue, $forceSyncMode, $emailSendingResult)
60+
public function testSend($configValue, $forceSyncMode, $emailSendingResult, $senderSendException)
6061
{
6162
$address = 'address_test';
6263
$configPath = 'sales_email/general/async_sending';
@@ -110,19 +111,23 @@ public function testSend($configValue, $forceSyncMode, $emailSendingResult)
110111

111112
$this->senderMock->expects($this->once())->method('send');
112113

113-
$this->senderMock->expects($this->once())->method('sendCopyTo');
114+
if ($senderSendException) {
115+
$this->checkSenderSendExceptionCase();
116+
} else {
117+
$this->senderMock->expects($this->once())->method('sendCopyTo');
114118

115-
$this->orderMock->expects($this->once())
116-
->method('setEmailSent')
117-
->with(true);
119+
$this->orderMock->expects($this->once())
120+
->method('setEmailSent')
121+
->with(true);
118122

119-
$this->orderResourceMock->expects($this->once())
120-
->method('saveAttribute')
121-
->with($this->orderMock, ['send_email', 'email_sent']);
123+
$this->orderResourceMock->expects($this->once())
124+
->method('saveAttribute')
125+
->with($this->orderMock, ['send_email', 'email_sent']);
122126

123-
$this->assertTrue(
124-
$this->sender->send($this->orderMock)
125-
);
127+
$this->assertTrue(
128+
$this->sender->send($this->orderMock)
129+
);
130+
}
126131
} else {
127132
$this->orderResourceMock->expects($this->once())
128133
->method('saveAttribute')
@@ -146,19 +151,42 @@ public function testSend($configValue, $forceSyncMode, $emailSendingResult)
146151
}
147152
}
148153

154+
/**
155+
* Methods check case when method "send" in "senderMock" throw exception.
156+
*
157+
* @return void
158+
*/
159+
protected function checkSenderSendExceptionCase()
160+
{
161+
$this->senderMock->expects($this->once())
162+
->method('send')
163+
->willThrowException(new \Exception('exception'));
164+
165+
$this->orderResourceMock->expects($this->once())
166+
->method('saveAttribute')
167+
->with($this->orderMock, 'send_email');
168+
169+
$this->assertFalse(
170+
$this->sender->send($this->orderMock)
171+
);
172+
}
173+
149174
/**
150175
* @return array
151176
*/
152177
public function sendDataProvider()
153178
{
154179
return [
155-
[0, 0, true],
156-
[0, 0, true],
157-
[0, 0, false],
158-
[0, 0, false],
159-
[0, 1, true],
160-
[0, 1, true],
161-
[1, null, null, null]
180+
[0, 0, true, false],
181+
[0, 0, true, false],
182+
[0, 0, true, true],
183+
[0, 0, false, false],
184+
[0, 0, false, false],
185+
[0, 0, false, true],
186+
[0, 1, true, false],
187+
[0, 1, true, false],
188+
[0, 1, true, false],
189+
[1, null, null, false]
162190
];
163191
}
164192

0 commit comments

Comments
 (0)