Skip to content

Commit 4f8cde2

Browse files
committed
MC-42486: Region ID and Country ID values and not properly converted in Email templates
- Added unit testing for email modules
1 parent de09ded commit 4f8cde2

File tree

5 files changed

+64
-2
lines changed

5 files changed

+64
-2
lines changed

app/code/Magento/Email/Test/Unit/Model/AbstractTemplateTest.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,6 @@ public function testGetProcessedTemplate($variables, $templateType, $storeId, $e
253253
->method('filter')
254254
->with($preparedTemplateText)
255255
->willReturn($expectedResult);
256-
257256
$this->assertEquals($expectedResult, $model->getProcessedTemplate($variables));
258257
}
259258

@@ -339,6 +338,8 @@ public function getProcessedTemplateProvider()
339338
'store_phone' => null,
340339
'store_hours' => null,
341340
'store_email' => null,
341+
'store_country' => null,
342+
'store_region' => null
342343
],
343344
'expectedResult' => 'expected result',
344345
],
@@ -359,6 +360,8 @@ public function getProcessedTemplateProvider()
359360
'store_hours' => null,
360361
'store_email' => null,
361362
'template_styles' => null,
363+
'store_country' => null,
364+
'store_region' => null
362365
],
363366
'expectedResult' => 'expected result',
364367
],

app/code/Magento/Email/Test/Unit/Model/TemplateTest.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
use Magento\Framework\Registry;
2525
use Magento\Framework\Serialize\Serializer\Json;
2626
use Magento\Framework\Url;
27+
use Magento\Directory\Api\CountryInformationAcquirerInterface;
28+
use Magento\Directory\Model\RegionFactory;
2729
use Magento\Framework\View\Asset\Repository;
2830
use Magento\Framework\View\DesignInterface;
2931
use Magento\Setup\Module\I18n\Locale;
@@ -98,6 +100,16 @@ class TemplateTest extends TestCase
98100
*/
99101
private $urlModel;
100102

103+
/**
104+
* @var CountryInformationAcqirerInterface|MockObject
105+
*/
106+
private $countryInformationAcquirerInterface;
107+
108+
/**
109+
* @var RegionFactory|MockObject
110+
*/
111+
private $regionFactory;
112+
101113
/**
102114
* @var Config|MockObject
103115
*/
@@ -163,6 +175,15 @@ protected function setUp(): void
163175
->disableOriginalConstructor()
164176
->getMock();
165177

178+
$this->countryInformationAcquirerInterface = $this->getMockBuilder(CountryInformationAcquirerInterface::class)
179+
->disableOriginalConstructor()
180+
->getMock();
181+
182+
$this->regionFactory = $this->getMockBuilder(RegionFactory::class)
183+
->setMethods(['create'])
184+
->disableOriginalConstructor()
185+
->getMock();
186+
166187
$this->filterFactory = $this->getMockBuilder(FilterFactory::class)
167188
->setMethods(['create'])
168189
->disableOriginalConstructor()
@@ -196,6 +217,8 @@ protected function getModelMock(array $mockedMethods = [])
196217
$this->templateFactory,
197218
$this->filterManager,
198219
$this->urlModel,
220+
$this->countryInformationAcquirerInterface,
221+
$this->regionFactory,
199222
$this->filterFactory,
200223
[],
201224
$this->serializerMock
@@ -774,6 +797,8 @@ public function testGetType($templateType, $expectedResult)
774797
$this->createMock(TemplateFactory::class),
775798
$this->createMock(FilterManager::class),
776799
$this->createMock(Url::class),
800+
$this->createMock(CountryInformationAcquirerInterface::class),
801+
$this->createMock(RegionFactory::class),
777802
$this->createMock(FilterFactory::class),
778803
[],
779804
$this->createMock(Json::class)

app/code/Magento/Email/composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
"magento/module-require-js": "*",
1616
"magento/module-media-storage": "*",
1717
"magento/module-variable": "*",
18-
"magento/module-ui": "*"
18+
"magento/module-ui": "*",
19+
"magento/module-directory": "*"
1920
},
2021
"suggest": {
2122
"magento/module-theme": "*"

app/code/Magento/Newsletter/Model/Template.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ class Template extends \Magento\Email\Model\AbstractTemplate
8181
* @param \Magento\Framework\Filter\FilterManager $filterManager
8282
* @param \Magento\Framework\Url|\Magento\Framework\UrlInterface $urlModel
8383
* @param \Magento\Framework\App\RequestInterface $request
84+
* @param \Magento\Directory\Api\CountryInformationAcquirerInterface $countryInformationAcquirerInterface
85+
* @param \Magento\Directory\Model\RegionFactory $regionFactory
8486
* @param \Magento\Newsletter\Model\Template\FilterFactory $filterFactory ,
8587
* @param array $data
8688
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
@@ -98,6 +100,8 @@ public function __construct(
98100
\Magento\Email\Model\TemplateFactory $templateFactory,
99101
\Magento\Framework\Filter\FilterManager $filterManager,
100102
\Magento\Framework\UrlInterface $urlModel,
103+
\Magento\Directory\Api\CountryInformationAcquirerInterface $countryInformationAcquirerInterface,
104+
\Magento\Directory\Model\RegionFactory $regionFactory,
101105
\Magento\Framework\App\RequestInterface $request,
102106
\Magento\Newsletter\Model\Template\FilterFactory $filterFactory,
103107
array $data = []
@@ -115,6 +119,8 @@ public function __construct(
115119
$templateFactory,
116120
$filterManager,
117121
$urlModel,
122+
$countryInformationAcquirerInterface,
123+
$regionFactory,
118124
$data
119125
);
120126
$this->_storeManager = $storeManager;

app/code/Magento/Newsletter/Test/Unit/Model/TemplateTest.php

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
namespace Magento\Newsletter\Test\Unit\Model;
99

10+
use Magento\Directory\Model\RegionFactory;
1011
use Magento\Email\Model\Template\Config;
1112
use Magento\Email\Model\TemplateFactory;
1213
use Magento\Framework\App\Area;
@@ -19,6 +20,7 @@
1920
use Magento\Framework\Model\Context;
2021
use Magento\Framework\Registry;
2122
use Magento\Framework\Url;
23+
use Magento\Directory\Api\CountryInformationAcquirerInterface;
2224
use Magento\Framework\View\Asset\Repository;
2325
use Magento\Framework\View\DesignInterface;
2426
use Magento\Newsletter\Model\Subscriber;
@@ -103,6 +105,16 @@ class TemplateTest extends TestCase
103105
*/
104106
private $urlModelMock;
105107

108+
/**
109+
* @var CountryInformationAcqirerInterface|MockObject
110+
*/
111+
private $countryInformationAcquirerInterface;
112+
113+
/**
114+
* @var RegionFactory|MockObject
115+
*/
116+
private $regionFactory;
117+
106118
/**
107119
* @var RequestInterface|MockObject
108120
*/
@@ -180,6 +192,15 @@ protected function setUp(): void
180192
->disableOriginalConstructor()
181193
->getMock();
182194

195+
$this->countryInformationAcquirerInterface = $this->getMockBuilder(CountryInformationAcquirerInterface::class)
196+
->disableOriginalConstructor()
197+
->getMock();
198+
199+
$this->regionFactory = $this->getMockBuilder(RegionFactory::class)
200+
->setMethods(['create'])
201+
->disableOriginalConstructor()
202+
->getMock();
203+
183204
$this->requestMock = $this->getMockBuilder(RequestInterface::class)
184205
->disableOriginalConstructor()
185206
->getMockForAbstractClass();
@@ -213,6 +234,8 @@ protected function getModelMock(array $mockedMethods = [])
213234
$this->templateFactoryMock,
214235
$this->filterManagerMock,
215236
$this->urlModelMock,
237+
$this->countryInformationAcquirerInterface,
238+
$this->regionFactory,
216239
$this->requestMock,
217240
$this->filterFactoryMock,
218241
]
@@ -387,6 +410,8 @@ public function getProcessedTemplateDataProvider()
387410
'store_phone' => null,
388411
'store_hours' => null,
389412
'store_email' => null,
413+
'store_country' => null,
414+
'store_region' => null
390415
],
391416
'expectedResult' => 'expected result',
392417
],
@@ -407,6 +432,8 @@ public function getProcessedTemplateDataProvider()
407432
'store_hours' => null,
408433
'store_email' => null,
409434
'template_styles' => null,
435+
'store_country' => null,
436+
'store_region' => null
410437
],
411438
'expectedResult' => 'expected result',
412439
],

0 commit comments

Comments
 (0)