|
7 | 7 | -->
|
8 | 8 | <tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
9 | 9 | xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
|
10 |
| - <test name="HtmlCMSPageValidationTest"> |
| 10 | + <test name="PageBuilderCMSPageContentValidationTest"> |
11 | 11 | <annotations>
|
12 | 12 | <features value="PageBuilder"/>
|
13 | 13 | <stories value="HTML Code"/>
|
|
48 | 48 | <argument name="property" value="PageBuilderHtmlPropertyButton"/>
|
49 | 49 | </actionGroup>
|
50 | 50 | <actionGroup ref="addTextToHtmlCodeWYSIWYGActionGroup" stepKey="enterWrongHtmlContent">
|
| 51 | + <argument name="selector" value="{{EditPanelForm.panelFieldControl('general', 'html')}}"/> |
51 | 52 | <argument name="text" value="\u{1F600}"/>
|
52 | 53 | </actionGroup>
|
53 | 54 | <click selector="{{EditPanelForm.editFormSave}}" stepKey="clickSaveButton"/>
|
|
58 | 59 | <actualResult type="variable">grabTextFromErrorLabel</actualResult>
|
59 | 60 | </assertStringContainsString>
|
60 | 61 | <actionGroup ref="removeTextFromHtmlCodeWYSIWYGActionGroup" stepKey="removeWrongHtmlContent">
|
| 62 | + <argument name="selector" value="{{EditPanelForm.panelFieldControl('general', 'html')}}"/> |
61 | 63 | <argument name="text" value="\u{1F600}"/>
|
62 | 64 | </actionGroup>
|
63 | 65 | <actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
|
64 | 66 | <waitForElementNotVisible selector="{{HtmlOnStage.baseErrorLabel}}" stepKey="waitForHtmlBaseErrorLabelRemovedStage1"/>
|
| 67 | + |
| 68 | + <actionGroup ref="dragContentTypeToStage" stepKey="dragTextOntoStage"> |
| 69 | + <argument name="contentType" value="PageBuilderTextContentType"/> |
| 70 | + </actionGroup> |
| 71 | + <actionGroup ref="openPageBuilderEditPanel" stepKey="openTextEditMenuOnStage"> |
| 72 | + <argument name="contentType" value="PageBuilderTextContentType"/> |
| 73 | + </actionGroup> |
| 74 | + <fillField selector="{{TextOnConfiguration.textArea}}" userInput="Hello Page From PageBuilder" stepKey="addTextToEditor"/> |
| 75 | + <actionGroup ref="addTextToHtmlCodeWYSIWYGActionGroup" stepKey="enterWrongTextContent"> |
| 76 | + <argument name="selector" value="//textarea[@id="{{TextOnConfiguration.textAreaId}}"][1]"/> |
| 77 | + <argument name="text" value="\u{1F600}"/> |
| 78 | + </actionGroup> |
| 79 | + |
| 80 | + <actionGroup ref="saveEditPanelSettingsFullScreen" stepKey="saveTextEditPanelSettings"/> |
| 81 | + |
65 | 82 | <!-- Validate Stage -->
|
66 | 83 | <comment userInput="Validate Stage" stepKey="commentValidateStage"/>
|
67 | 84 | <waitForElementVisible selector="{{HtmlOnStage.base('1')}}" stepKey="waitForHtmlBaseStage1"/>
|
|
72 | 89 | <actualResult type="variable">actualTextFromHtmlCode</actualResult>
|
73 | 90 | </assertStringContainsString>
|
74 | 91 | <actionGroup ref="exitPageBuilderFullScreen" stepKey="exitPageBuilderFullScreen"/>
|
| 92 | + |
| 93 | + <!-- Cannot save invalid text--> |
75 | 94 | <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage"/>
|
76 |
| - <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStage"/> |
77 |
| - <!-- Validate Stage After Save --> |
78 |
| - <comment userInput="Validate Stage After Save" stepKey="commentValidateStage2"/> |
79 |
| - <waitForElementVisible selector="{{HtmlOnStage.base('1')}}" stepKey="waitForHtmlBaseStage2"/> |
80 |
| - <waitForElementVisible selector="{{HtmlOnStage.html('1', PageBuilderHtmlPropertyButton.selector)}}" stepKey="waitForHtmlStage2"/> |
81 |
| - <executeJS function="return document.querySelectorAll('{{HtmlOnStage.baseCSS}}')[0].innerText;" stepKey="actualTextFromHtmlCodeAfterSave"/> |
82 |
| - <actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2"> |
83 |
| - <argument name="contentType" value="PageBuilderHtmlContentType"/> |
| 95 | + <waitForElementVisible selector="//div[contains(@class, "field-page-builder")]//label[@class="admin__field-error"]" stepKey="waitForErrorLabelVisible"/> |
| 96 | + <grabTextFrom selector="//div[contains(@class, "field-page-builder")]//label[@class="admin__field-error"]" stepKey="grabTextFromErrorLabel2"/> |
| 97 | + <assertStringContainsString stepKey="assertErrorMessage2"> |
| 98 | + <expectedResult type="string">Please remove invalid characters</expectedResult> |
| 99 | + <actualResult type="variable">grabTextFromErrorLabel2</actualResult> |
| 100 | + </assertStringContainsString> |
| 101 | + |
| 102 | + <!-- Fix error and save again --> |
| 103 | + <actionGroup ref="switchToPageBuilderStage" stepKey="switchToPageBuilderStageToFixText"/> |
| 104 | + <actionGroup ref="openPageBuilderEditPanel" stepKey="openTextEditMenuOnStageToFixText"> |
| 105 | + <argument name="contentType" value="PageBuilderTextContentType"/> |
84 | 106 | </actionGroup>
|
85 |
| - <!-- Validate Edit Panel After Save --> |
86 |
| - <comment userInput="Validate Edit Panel After Save" stepKey="commentValidateEditPanel2"/> |
| 107 | + <actionGroup ref="removeTextFromHtmlCodeWYSIWYGActionGroup" stepKey="removeWrongTextContent"> |
| 108 | + <argument name="selector" value="//textarea[@id="{{TextOnConfiguration.textAreaId}}"][1]"/> |
| 109 | + <argument name="text" value="\u{1F600}"/> |
| 110 | + </actionGroup> |
| 111 | + <actionGroup ref="saveEditPanelSettingsFullScreen" stepKey="saveTextEditPanelSettings2"/> |
| 112 | + <actionGroup ref="exitPageBuilderFullScreen" stepKey="exitPageBuilderFullScreen2"/> |
| 113 | + <waitForElementNotVisible selector="//div[contains(@class, "field-page-builder")]//label[@class="admin__field-error"]" stepKey="waitForErrorLabelNotVisible"/> |
| 114 | + <actionGroup ref="SaveAndContinueEditCmsPageActionGroup" stepKey="saveAndContinueEditCmsPage2"/> |
| 115 | + |
87 | 116 | <actionGroup ref="NavigateToStorefrontForCreatedPageActionGroup" stepKey="navigateToCMSPageStorefront">
|
88 | 117 | <argument name="page" value="$$createCMSPage.identifier$$"/>
|
89 | 118 | </actionGroup>
|
90 | 119 | <!-- Validate Storefront -->
|
91 | 120 | <comment userInput="Validate Storefront" stepKey="commentValidateStorefront"/>
|
92 | 121 | <waitForElementVisible selector="{{HtmlOnStorefront.base('1')}}" stepKey="waitForHtmlBaseStorefront"/>
|
93 | 122 | <waitForElementVisible selector="{{HtmlOnStorefront.html('1', PageBuilderHtmlPropertyButton.selectorOnFrontend)}}" stepKey="waitForHtmlStorefront"/>
|
| 123 | + <waitForElementVisible selector="{{TextOnStorefront.allText}}" stepKey="waitForTextStorefront"/> |
| 124 | + <grabTextFrom selector="{{TextOnStorefront.allText}}" stepKey="grabTextFromText"/> |
| 125 | + <assertStringContainsString stepKey="assertTextOnStoreFront"> |
| 126 | + <expectedResult type="string">Hello Page From PageBuilder</expectedResult> |
| 127 | + <actualResult type="variable">grabTextFromText</actualResult> |
| 128 | + </assertStringContainsString> |
94 | 129 | </test>
|
95 | 130 | </tests>
|
0 commit comments