Skip to content

Commit ad50297

Browse files
author
Graham Wharton
committed
Removed setFromByStore and replaced with default parameter to setFrom
1 parent 80469a6 commit ad50297

File tree

6 files changed

+21
-148
lines changed

6 files changed

+21
-148
lines changed

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

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
*/
66
namespace Magento\Sales\Model\Order\Email;
77

8-
use Magento\Framework\App\ObjectManager;
98
use Magento\Framework\Mail\Template\TransportBuilder;
10-
use Magento\Framework\Mail\Template\TransportBuilderByStore;
119
use Magento\Sales\Model\Order\Email\Container\IdentityInterface;
1210
use Magento\Sales\Model\Order\Email\Container\Template;
1311

@@ -28,29 +26,19 @@ class SenderBuilder
2826
*/
2927
protected $transportBuilder;
3028

31-
/**
32-
* @var TransportBuilderByStore
33-
*/
34-
private $transportBuilderByStore;
35-
3629
/**
3730
* @param Template $templateContainer
3831
* @param IdentityInterface $identityContainer
3932
* @param TransportBuilder $transportBuilder
40-
* @param TransportBuilderByStore $transportBuilderByStore
4133
*/
4234
public function __construct(
4335
Template $templateContainer,
4436
IdentityInterface $identityContainer,
45-
TransportBuilder $transportBuilder,
46-
TransportBuilderByStore $transportBuilderByStore = null
37+
TransportBuilder $transportBuilder
4738
) {
4839
$this->templateContainer = $templateContainer;
4940
$this->identityContainer = $identityContainer;
5041
$this->transportBuilder = $transportBuilder;
51-
$this->transportBuilderByStore = $transportBuilderByStore ?: ObjectManager::getInstance()->get(
52-
TransportBuilderByStore::class
53-
);
5442
}
5543

5644
/**
@@ -110,7 +98,7 @@ protected function configureEmailTemplate()
11098
$this->transportBuilder->setTemplateIdentifier($this->templateContainer->getTemplateId());
11199
$this->transportBuilder->setTemplateOptions($this->templateContainer->getTemplateOptions());
112100
$this->transportBuilder->setTemplateVars($this->templateContainer->getTemplateVars());
113-
$this->transportBuilderByStore->setFromByStore(
101+
$this->transportBuilder->setFrom(
114102
$this->identityContainer->getEmailIdentity(),
115103
$this->identityContainer->getStore()->getId()
116104
);

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

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
namespace Magento\Sales\Test\Unit\Model\Order\Email;
88

9-
use Magento\Framework\Mail\Template\TransportBuilderByStore;
109
use Magento\Sales\Model\Order\Email\SenderBuilder;
1110

1211
class SenderBuilderTest extends \PHPUnit\Framework\TestCase
@@ -36,11 +35,6 @@ class SenderBuilderTest extends \PHPUnit\Framework\TestCase
3635
*/
3736
private $storeMock;
3837

39-
/**
40-
* @var \PHPUnit_Framework_MockObject_MockObject
41-
*/
42-
private $transportBuilderByStore;
43-
4438
protected function setUp()
4539
{
4640
$templateId = 'test_template_id';
@@ -82,11 +76,10 @@ protected function setUp()
8276
'setTemplateIdentifier',
8377
'setTemplateOptions',
8478
'setTemplateVars',
79+
'setFrom',
8580
]
8681
);
8782

88-
$this->transportBuilderByStore = $this->createMock(TransportBuilderByStore::class);
89-
9083
$this->templateContainerMock->expects($this->once())
9184
->method('getTemplateId')
9285
->will($this->returnValue($templateId));
@@ -109,8 +102,8 @@ protected function setUp()
109102
$this->identityContainerMock->expects($this->once())
110103
->method('getEmailIdentity')
111104
->will($this->returnValue($emailIdentity));
112-
$this->transportBuilderByStore->expects($this->once())
113-
->method('setFromByStore')
105+
$this->transportBuilder->expects($this->once())
106+
->method('setFrom')
114107
->with($this->equalTo($emailIdentity));
115108

116109
$this->identityContainerMock->expects($this->once())
@@ -120,15 +113,16 @@ protected function setUp()
120113
$this->senderBuilder = new SenderBuilder(
121114
$this->templateContainerMock,
122115
$this->identityContainerMock,
123-
$this->transportBuilder,
124-
$this->transportBuilderByStore
116+
$this->transportBuilder
125117
);
126118
}
127119

128120
public function testSend()
129121
{
130122
$customerName = 'test_name';
131123
$customerEmail = 'test_email';
124+
$identity = 'email_identity_test';
125+
132126
$transportMock = $this->createMock(
133127
\Magento\Sales\Test\Unit\Model\Order\Email\Stub\TransportInterfaceMock::class
134128
);
@@ -151,6 +145,9 @@ public function testSend()
151145
$this->storeMock->expects($this->once())
152146
->method('getId')
153147
->willReturn(1);
148+
$this->transportBuilder->expects($this->once())
149+
->method('setFrom')
150+
->with($identity, 1);
154151
$this->transportBuilder->expects($this->once())
155152
->method('addTo')
156153
->with($this->equalTo($customerEmail), $this->equalTo($customerName));
@@ -164,6 +161,7 @@ public function testSend()
164161

165162
public function testSendCopyTo()
166163
{
164+
$identity = 'email_identity_test';
167165
$transportMock = $this->createMock(
168166
\Magento\Sales\Test\Unit\Model\Order\Email\Stub\TransportInterfaceMock::class
169167
);
@@ -177,6 +175,9 @@ public function testSendCopyTo()
177175
$this->transportBuilder->expects($this->once())
178176
->method('addTo')
179177
->with($this->equalTo('[email protected]'));
178+
$this->transportBuilder->expects($this->once())
179+
->method('setFrom')
180+
->with($identity, 1);
180181
$this->identityContainerMock->expects($this->once())
181182
->method('getStore')
182183
->willReturn($this->storeMock);

lib/internal/Magento/Framework/Mail/Template/TransportBuilder.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,12 @@ public function setReplyTo($email, $name = null)
176176
* Set mail from address
177177
*
178178
* @param string|array $from
179+
* @param string|int $store
179180
* @return $this
180181
*/
181-
public function setFrom($from)
182+
public function setFrom($from, $store = null)
182183
{
183-
$result = $this->_senderResolver->resolve($from);
184+
$result = $this->_senderResolver->resolve($from, $store);
184185
$this->message->setFrom($result['email'], $result['name']);
185186
return $this;
186187
}

lib/internal/Magento/Framework/Mail/Template/TransportBuilderByStore.php

Lines changed: 0 additions & 54 deletions
This file was deleted.

lib/internal/Magento/Framework/Mail/Test/Unit/Template/TransportBuilderByStoreTest.php

Lines changed: 0 additions & 64 deletions
This file was deleted.

lib/internal/Magento/Framework/Mail/Test/Unit/Template/TransportBuilderTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,16 +170,17 @@ public function getTransportDataProvider()
170170
public function testSetFrom()
171171
{
172172
$sender = ['email' => '[email protected]', 'name' => 'name'];
173+
$store = 1;
173174
$this->senderResolverMock->expects($this->once())
174175
->method('resolve')
175-
->with($sender)
176+
->with($sender, $store)
176177
->willReturn($sender);
177178
$this->messageMock->expects($this->once())
178179
->method('setFrom')
179180
->with('[email protected]', 'name')
180181
->willReturnSelf();
181182

182-
$this->builder->setFrom($sender);
183+
$this->builder->setFrom($sender, $store);
183184
}
184185

185186
/**

0 commit comments

Comments
 (0)