Skip to content

Commit 8baa973

Browse files
committed
ACP2E-3998: [Cloud]Magento OOTB code - Email Template Setup issue
1 parent 146e239 commit 8baa973

File tree

2 files changed

+29
-9
lines changed

2 files changed

+29
-9
lines changed

app/code/Magento/Backend/Block/Template.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ public function __construct(
8080
$this->formKey = $context->getFormKey();
8181
$this->nameBuilder = $context->getNameBuilder();
8282
$data['jsonHelper'] = $jsonHelper ?? ObjectManager::getInstance()->get(JsonHelper::class);
83-
$data['directoryHelper']= $directoryHelper ?? ObjectManager::getInstance()->get(DirectoryHelper::class);
83+
if (empty($data['directoryHelper'])) {
84+
$data['directoryHelper'] = $directoryHelper ?? ObjectManager::getInstance()->get(DirectoryHelper::class);
85+
}
8486
parent::__construct($context, $data);
8587
}
8688

app/code/Magento/Email/Test/Unit/Block/Adminhtml/Template/EditTest.php

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919
use Magento\Config\Model\Config\Structure\Element\Field;
2020
use Magento\Config\Model\Config\Structure\Element\Group;
2121
use Magento\Config\Model\Config\Structure\Element\Section;
22-
use Magento\Config\Model\Config\Structure\ElementInterface;
2322
use Magento\Email\Block\Adminhtml\Template\Edit;
2423
use Magento\Email\Model\BackendTemplate;
24+
use Magento\Framework\App\Config\ScopeConfigInterface;
2525
use Magento\Framework\App\Filesystem\DirectoryList;
26+
use Magento\Framework\App\State;
2627
use Magento\Framework\Event\ManagerInterface;
2728
use Magento\Framework\Filesystem;
2829
use Magento\Framework\Filesystem\Directory\Read;
@@ -31,6 +32,8 @@
3132
use Magento\Framework\Registry;
3233
use Magento\Framework\Serialize\SerializerInterface;
3334
use Magento\Framework\UrlInterface;
35+
use Magento\Framework\View\Element\Template\File\Resolver;
36+
use Magento\Framework\View\Element\Template\File\Validator;
3437
use Magento\Framework\View\FileSystem as FilesystemView;
3538
use Magento\Framework\View\Layout;
3639
use Magento\Store\Model\StoreManagerInterface;
@@ -122,6 +125,22 @@ protected function setUp(): void
122125
$this->context->expects($this->any())->method('getUrlBuilder')->willReturn($urlBuilder);
123126
$eventManager = $this->createMock(ManagerInterface::class);
124127
$this->context->expects($this->any())->method('getEventManager')->willReturn($eventManager);
128+
$scopeConfig = $this->createMock(ScopeConfigInterface::class);
129+
$this->context->expects($this->any())->method('getScopeConfig')->willReturn($scopeConfig);
130+
$appState = $this->createMock(State::class);
131+
$this->context->expects($this->any())->method('getAppState')->willReturn($appState);
132+
$resolver = $this->createMock(Resolver::class);
133+
$this->context->expects($this->any())->method('getResolver')->willReturn($resolver);
134+
$fileSystem = $this->createMock(Filesystem::class);
135+
$fileSystem->expects($this->any())
136+
->method('getDirectoryRead')
137+
->willReturn($this->createMock(Read::class));
138+
$this->context->expects($this->any())->method('getFilesystem')->willReturn($fileSystem);
139+
$validator = $this->createMock(Validator::class);
140+
$this->context->expects($this->any())->method('getValidator')->willReturn($validator);
141+
$this->context->expects($this->any())
142+
->method('getLogger')
143+
->willReturn($this->createMock(LoggerInterface::class));
125144

126145
$urlBuilder->expects($this->any())->method('getUrl')->willReturnArgument(0);
127146
$menuConfigMock->expects($this->any())->method('getMenu')->willReturn($menuMock);
@@ -132,11 +151,6 @@ protected function setUp(): void
132151

133152
$encoder = $this->createMock(EncoderInterface::class);
134153
$registry = $this->createMock(Registry::class);
135-
$structure = $this->createMock(Structure::class);
136-
$element = $this->createMock(ElementInterface::class);
137-
$structure->expects($this->any())
138-
->method('getElement')
139-
->willReturn($element);
140154
$jsonHelper = $this->createMock(JsonHelper::class);
141155
$buttonList = $this->createMock(ButtonList::class);
142156
$toolbar = $this->createMock(ToolbarInterface::class);
@@ -145,11 +159,14 @@ protected function setUp(): void
145159
$encoder,
146160
$registry,
147161
$menuConfigMock,
148-
$structure,
162+
$this->_configStructureMock,
149163
$this->_emailConfigMock,
150164
$jsonHelper,
151165
$buttonList,
152-
$toolbar
166+
$toolbar,
167+
[
168+
'directoryHelper' => $this->createMock(\Magento\Directory\Helper\Data::class)
169+
]
153170
);
154171
}
155172

@@ -180,6 +197,7 @@ public function testGetCurrentlyUsedForPaths()
180197
['getLabel']
181198
);
182199
$map = [
200+
[['section1'], $sectionMock],
183201
[['section1', 'group1'], $groupMock1],
184202
[['section1', 'group1', 'group2'], $groupMock2],
185203
[['section1', 'group1', 'group2', 'group3'], $groupMock3],

0 commit comments

Comments
 (0)