Skip to content

Commit a7145de

Browse files
committed
MC-23058: Template strict mode is not set for unsaved template previews
1 parent 3438b3b commit a7145de

File tree

6 files changed

+43
-98
lines changed

6 files changed

+43
-98
lines changed

app/code/Magento/Email/Test/Mftf/ActionGroup/EmailTemplateActionGroup.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@
8787
<waitForPageLoad after="switchToIframe" stepKey="waitForPageLoaded"/>
8888
</actionGroup>
8989

90-
9190
<actionGroup name="AssertEmailTemplateContent">
9291
<arguments>
9392
<argument name="expectedContent" type="string" defaultValue="{{EmailTemplate.templateText}}"/>

app/code/Magento/Newsletter/Test/Mftf/ActionGroup/AdminNewsletterTemplateActionGroup.xml

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -13,46 +13,4 @@
1313
<switchToIFrame userInput="preview_iframe" stepKey="switchToIframe" />
1414
<waitForPageLoad stepKey="waitForPageLoad"/>
1515
</actionGroup>
16-
<actionGroup name="NavigateToNewsletterGrid">
17-
<amOnPage url="{{NewsletterTemplateForm.url}}" stepKey="amOnNewsletterTemplatePage"/>
18-
<waitForPageLoad stepKey="waitForNewNewsletterPageLoad"/>
19-
</actionGroup>
20-
21-
<actionGroup name="FillNewsletterForm">
22-
<arguments>
23-
<argument name="Newsletter" defaultValue="BasicFieldNewsletterSection"/>
24-
</arguments>
25-
<waitForElementVisible selector="{{BasicFieldNewsletterSection.templateName}}" stepKey="waitForTemplateNameField"/>
26-
<fillField selector="{{BasicFieldNewsletterSection.templateName}}" userInput="{{Newsletter.name}}" stepKey="fillTemplateName" />
27-
<fillField selector="{{BasicFieldNewsletterSection.templateSubject}}" userInput="{{Newsletter.subject}}" stepKey="fillTemplateSubject" />
28-
<fillField selector="{{BasicFieldNewsletterSection.senderName}}" userInput="{{Newsletter.senderName}}" stepKey="fillSenderName" />
29-
<fillField selector="{{BasicFieldNewsletterSection.senderEmail}}" userInput="{{Newsletter.senderEmail}}" stepKey="fillSenderEmail" />
30-
<fillField selector="{{BasicFieldNewsletterSection.templateText}}" userInput="{{Newsletter.templateText}}" stepKey="fillTemplateText" />
31-
</actionGroup>
32-
33-
<actionGroup name="OpenNewsletterPreviewTab">
34-
<annotations>
35-
<description>Open the currently drafted newletter in new tab preview mode. The JS is required due to the sandboxed iframe not playing nicely with selenium.</description>
36-
</annotations>
37-
<waitForElementVisible selector="{{BasicFieldNewsletterSection.preview}}" stepKey="waitForPreviewButton"/>
38-
<click selector="{{BasicFieldNewsletterSection.preview}}" stepKey="clickPreview"/>
39-
<switchToNextTab stepKey="switchToPreviewTab"/>
40-
<waitForPageLoad stepKey="waitForTabLoaded"/>
41-
<waitForElementVisible selector="{{BasicFieldNewsletterSection.previewIframe}}" stepKey="waitForIframeVisible"/>
42-
<waitForJS function="return document.getElementById('preview_iframe').sandbox.add('allow-scripts') || true" stepKey="addSandboxValue"/>
43-
</actionGroup>
44-
45-
<actionGroup name="AssertNewsletterContent">
46-
<annotations>
47-
<description>Validate the content of the newsletter preview tab that is open. JS is used due to strange behaviors with selenium and the posted form sandboxed iframe containing the text.</description>
48-
</annotations>
49-
<arguments>
50-
<argument name="Newsletter" defaultValue="BasicFieldNewsletterSection"/>
51-
</arguments>
52-
<waitForJS function="return document.getElementById('preview_iframe').contentDocument.body.textContent" stepKey="grabTemplateText"/>
53-
<assertContains stepKey="checkTemplateContainsText">
54-
<actualResult type="variable">grabTemplateText</actualResult>
55-
<expectedResult type="string">{{Newsletter.expectedTemplate}}</expectedResult>
56-
</assertContains>
57-
</actionGroup>
5816
</actionGroups>

app/code/Magento/Newsletter/Test/Mftf/Data/NewsletterTemplateData.xml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,4 @@
1414
<data key="senderName">Admin</data>
1515
<data key="senderEmail">admin@magento.com</data>
1616
</entity>
17-
<entity name="NewsletterWithDirectives" type="template">
18-
<data key="name" unique="suffix">Test Newsletter Template</data>
19-
<data key="subject">Test Newsletter Subject</data>
20-
<data key="senderName">Admin</data>
21-
<data key="senderEmail">admin@magento.com</data>
22-
<data key="templateText">Template {{var this.template_id}}{{var this.getData(template_id)}} Text</data>
23-
<data key="expectedTemplate">Template 123 Text</data>
24-
</entity>
2517
</entities>

app/code/Magento/Newsletter/Test/Mftf/Section/NewsletterTemplateSection.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,11 @@
1010
<section name="BasicFieldNewsletterSection">
1111
<element name="templateName" type="input" selector="#code"/>
1212
<element name="templateSubject" type="input" selector="#subject"/>
13-
<element name="templateText" type="input" selector="#text"/>
1413
<element name="senderName" type="input" selector="#sender_name"/>
1514
<element name="senderEmail" type="input" selector="#sender_email"/>
1615
<element name="save" type="button" selector="button[data-role='template-save']" timeout="60"/>
1716
<element name="searchButton" type="button" selector=".admin__filter-actions button[title=Search]"/>
1817
<element name="searchInput" type="input" selector="input[name=code]"/>
19-
<element name="preview" type="button" selector="button[data-role='template-preview']"/>
20-
<element name="previewIframe" type="iframe" selector="#preview_iframe"/>
2118
</section>
2219
<section name="NewsletterWYSIWYGSection">
2320
<element name="TextArea" type="text" selector="#text" />

app/code/Magento/Newsletter/Test/Mftf/Test/AdminNewsletterPreviewTest.xml

Lines changed: 0 additions & 44 deletions
This file was deleted.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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\Newsletter\Controller\Adminhtml\Template;
9+
10+
use Magento\Framework\App\Request\Http as HttpRequest;
11+
use Magento\Framework\Data\Form\FormKey;
12+
use Magento\Newsletter\Model\Template;
13+
use Magento\Store\Model\StoreManagerInterface;
14+
use Magento\TestFramework\TestCase\AbstractBackendController;
15+
16+
class DropTest extends AbstractBackendController
17+
{
18+
public function testDefaultTemplateAction()
19+
{
20+
$website = $this->_objectManager
21+
->get(StoreManagerInterface::class)
22+
->getWebsite();
23+
24+
$storeId = $website->getDefaultStore()
25+
->getId();
26+
27+
/** @var $formKey FormKey */
28+
$formKey = $this->_objectManager->get(FormKey::class);
29+
$post = [
30+
'form_key' => $formKey->getFormKey(),
31+
'type' => Template::TYPE_HTML,
32+
'preview_store_id' => $storeId,
33+
'text' => 'Template {{var this.template_id}}{{var this.getData(template_id)}} Text'
34+
];
35+
$this->getRequest()->setPostValue($post);
36+
$this->getRequest()->setMethod(HttpRequest::METHOD_POST);
37+
$this->dispatch('backend/newsletter/template/drop');
38+
$this->assertContains(
39+
'Template 123 Text',
40+
$this->getResponse()->getBody()
41+
);
42+
}
43+
}

0 commit comments

Comments
 (0)