Skip to content

Commit

Permalink
Updated code for validate empty nodeList and covered MFTF
Browse files Browse the repository at this point in the history
  • Loading branch information
saphaljha committed Sep 12, 2020
1 parent 7d6f8bb commit 1f0fe69
Show file tree
Hide file tree
Showing 4 changed files with 89 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<actionGroups
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<actionGroup name="AdminCreateAndDeleteMultipleLayoutWidgetActionGroup">
<annotations>
<description>Goes to the Admin Widget creation page. Add and delete multiple layouts</description>
</annotations>
<arguments>
<argument name="widget"/>
</arguments>
<amOnPage url="{{AdminNewWidgetPage.url}}" stepKey="amOnAdminNewWidgetPage"/>
<selectOption selector="{{AdminNewWidgetSection.widgetType}}" userInput="{{widget.type}}" stepKey="setWidgetType"/>
<selectOption selector="{{AdminNewWidgetSection.widgetDesignTheme}}" userInput="{{widget.design_theme}}" stepKey="setWidgetDesignTheme"/>
<click selector="{{AdminNewWidgetSection.continue}}" stepKey="clickContinue"/>
<fillField selector="{{AdminNewWidgetSection.widgetTitle}}" userInput="{{widget.name}}" stepKey="fillTitle"/>
<selectOption selector="{{AdminNewWidgetSection.widgetStoreIds}}" userInput="{{widget.store_ids[0]}}" stepKey="setWidgetStoreIds"/>
<click selector="{{AdminNewWidgetSection.addLayoutUpdate}}" stepKey="clickAddLayoutUpdate"/>
<waitForAjaxLoad stepKey="waitForLoad"/>
<click selector="{{AdminNewWidgetSection.addLayoutUpdate}}" stepKey="clickAddLayoutUpdate2"/>
<waitForAjaxLoad stepKey="waitForLoad2"/>
<click selector="{{AdminNewWidgetSection.addLayoutUpdate}}" stepKey="clickAddLayoutUpdate3"/>
<waitForAjaxLoad stepKey="waitForLoad3"/>
<seeNumberOfElements userInput="3" selector="{{AdminNewWidgetSection.CountDeleteButtons}}" stepKey="seeThreeDeleteButtons"/>
<click selector="{{AdminNewWidgetSection.deleteActionThird}}" stepKey="clickThirdDeleteButton"/>
<seeNumberOfElements userInput="2" selector="{{AdminNewWidgetSection.CountDeleteButtons}}" stepKey="seeTwoDeleteButtons"/>
<click selector="{{AdminNewWidgetSection.deleteActionSecond}}" stepKey="clickSecondDeleteButton"/>
<seeNumberOfElements userInput="1" selector="{{AdminNewWidgetSection.CountDeleteButtons}}" stepKey="seeOneDeleteButtons"/>
<click selector="{{AdminNewWidgetSection.deleteActionFirst}}" stepKey="clickFirstDeleteButton"/>
<seeNumberOfElements userInput="0" selector="{{AdminNewWidgetSection.CountDeleteButtons}}" stepKey="seeZeroDeleteButtons"/>
</actionGroup>
</actionGroups>
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,9 @@
<element name="displayMode" type="select" selector="select[id*='display_mode']"/>
<element name="restrictTypes" type="select" selector="select[id*='types']"/>
<element name="saveAndContinue" type="button" selector="#save_and_edit_button" timeout="30"/>
<element name="deleteActionFirst" type="button" selector="#page_group_container_0 > div.fieldset-wrapper-title > div > .action-default.action-delete"/>
<element name="deleteActionSecond" type="button" selector="#page_group_container_1 > div.fieldset-wrapper-title > div > .action-default.action-delete"/>
<element name="deleteActionThird" type="button" selector="#page_group_container_2 > div.fieldset-wrapper-title > div > .action-default.action-delete"/>
<element name="CountDeleteButtons" type="button" selector="#page_group_container > .fieldset-wrapper.page_group_container > div.fieldset-wrapper-title > div > .action-default.action-delete"/>
</section>
</sections>
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
<test name="AdminWidgetAddAndDeleteMultipleLayoutSectionsTest">
<annotations>
<features value="Widget"/>
<stories value="Add and Delete multiple layouts when creating a Widget"/>
<title value="Add and Delete multiple layouts"/>
<description value="Admin should be able to Add and Delete multiple layouts"/>
<severity value="CRITICAL"/>
<group value="Widget"/>
</annotations>
<before>
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAsAdmin"/>
</before>
<after>
<actionGroup ref="AdminLogoutActionGroup" stepKey="logout"/>
</after>
<actionGroup ref="AdminNavigateMenuActionGroup" stepKey="navigateToContentWidgetsPageFirst">
<argument name="menuUiId" value="{{AdminMenuContent.dataUiId}}"/>
<argument name="submenuUiId" value="{{AdminMenuContentElementsWidgets.dataUiId}}"/>
</actionGroup>
<actionGroup ref="AdminAssertPageTitleActionGroup" stepKey="seePageTitleFirst">
<argument name="title" value="{{AdminMenuContentElementsWidgets.pageTitle}}"/>
</actionGroup>
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear1"/>
<actionGroup ref="AdminCreateAndDeleteMultipleLayoutWidgetActionGroup" stepKey="addWidgetForTest">
<argument name="widget" value="ProductsListWidget"/>
</actionGroup>
</test>
</tests>
22 changes: 11 additions & 11 deletions lib/internal/Magento/Framework/View/Helper/SecureHtmlRenderer.php
Original file line number Diff line number Diff line change
Expand Up @@ -112,19 +112,19 @@ function {$listenerFunction} () {
{$attributeJavascript};
}
var {$elementName}Array = document.querySelectorAll("{$elementSelector}");
{$elementName}Array.forEach(function(element){
if (element) {
element.{$eventName} = function (event) {
var targetElement = element;
if (event && event.target) {
targetElement = event.target;
if({$elementName}Array.lenght !== 'undefined'){
{$elementName}Array.forEach(function(element){
if (element) {
element.{$eventName} = function (event) {
var targetElement = element;
if (event && event.target) {
targetElement = event.target;
}
{$listenerFunction}.apply(targetElement);
}
{$listenerFunction}.apply(targetElement);
}
}
});
});
}
script;

Expand Down

0 comments on commit 1f0fe69

Please sign in to comment.