ToolJet/cypress-tests/cypress/support/utils/button.js
Midhun Kumar E 9a5bf82a3b
App builder automation fixed for platform-v14 (#8929)
* test: Marketplace 1.6 Cypress automation fixed (#1053)

* fix automation

* fix action failures

* fix action failures table

* test: Automation fixed  for missing cases of appbuilder-1.5 (#1046)

* Add and fix  data-cy (#8872)

* test: Cypress automation revamp appbuilder 1.5 (#8804)

* fix button spec

* fix appTitle spec

* fix componentDuplication spec

* fix csa spec

* fix datepicker spec

* fix list view  spec

* fix modal  spec

* fix multiselect  spec

* fix input  specs

* fix query  specs

* fix inspector and global setings  specs

* fix multipage  spec

* fix text  spec

* fix table  spec

* fix layout

* fix automation

* fix action failures

* fix action failures table

* fix action failure runpy

* fix action failures

* Fix action failures on platform14 automation
2024-02-27 15:25:33 +05:30

130 lines
3.8 KiB
JavaScript

import { commonSelectors, commonWidgetSelector } from "Selectors/common";
import { openAccordion, openEditorSidebar } from "Support/utils/commonWidget";
import { buttonText } from "Texts/button";
import { commonWidgetText } from "Texts/common";
import {
addDefaultEventHandler,
selectColourFromColourPicker,
verifyAndModifyParameter,
verifyBoxShadowCss,
verifyLoaderColor,
verifyPropertiesGeneralAccordion,
verifyStylesGeneralAccordion,
verifyTooltip,
verifyWidgetColorCss,
} from "Support/utils/commonWidget";
export const verifyControlComponentAction = (widgetName, value) => {
cy.forceClickOnCanvas();
cy.dragAndDropWidget("Text input", 280, 90);
openEditorSidebar(widgetName);
openAccordion(commonWidgetText.accordionEvents);
cy.get(commonWidgetSelector.addMoreEventHandlerLink).click();
cy.get(commonWidgetSelector.eventHandlerCard).eq(1).click();
cy.get(commonWidgetSelector.actionSelection).type("Control component{Enter}");
cy.get(commonWidgetSelector.eventComponentSelection).type(
"textinput1{Enter}"
);
cy.get(commonWidgetSelector.eventComponentActionSelection).type(
"Set text{Enter}"
);
cy.get(commonWidgetSelector.componentTextInput)
.find('[data-cy*="-input-field"]')
.clearAndTypeOnCodeMirror(value);
cy.forceClickOnCanvas();
cy.waitForAutoSave();
};
export const addBasicData = (data) => {
openEditorSidebar(buttonText.defaultWidgetName);
verifyAndModifyParameter(buttonText.buttonTextLabel, data.widgetName);
openAccordion(commonWidgetText.accordionEvents);
addDefaultEventHandler(data.alertMessage);
verifyPropertiesGeneralAccordion(
buttonText.defaultWidgetName,
data.tooltipText
);
openEditorSidebar(buttonText.defaultWidgetName);
cy.get(commonWidgetSelector.buttonStylesEditorSideBar).click();
selectColourFromColourPicker(
buttonText.backgroundColor,
data.backgroundColor
);
cy.forceClickOnCanvas();
openEditorSidebar(buttonText.defaultWidgetName);
cy.get(commonWidgetSelector.buttonStylesEditorSideBar).click();
selectColourFromColourPicker(buttonText.textColor, data.textColor, 1);
cy.forceClickOnCanvas();
openEditorSidebar(buttonText.defaultWidgetName);
cy.get(commonWidgetSelector.buttonStylesEditorSideBar).click();
selectColourFromColourPicker(buttonText.loaderColor, data.loaderColor, 2);
cy.forceClickOnCanvas();
openEditorSidebar(buttonText.defaultWidgetName);
cy.get(commonWidgetSelector.buttonStylesEditorSideBar).click();
cy.get(
commonWidgetSelector.parameterInputField(
commonWidgetText.parameterBorderRadius
)
)
.first()
.clear()
.type(buttonText.borderRadiusInput);
verifyStylesGeneralAccordion(
buttonText.defaultWidgetName,
data.boxShadowParam,
data.colourHex,
data.boxShadowColor,
4
);
verifyControlComponentAction(
buttonText.defaultWidgetName,
data.customMessage
);
cy.waitForAutoSave();
};
export const verifyBasicData = (widgetName, data) => {
cy.get(commonWidgetSelector.draggableWidget(widgetName)).verifyVisibleElement(
"have.text",
data.widgetName
);
cy.wait(1500);
cy.get(commonWidgetSelector.draggableWidget(widgetName)).click({
force: true,
});
cy.verifyToastMessage(commonSelectors.toastMessage, data.alertMessage);
cy.get(`[data-cy="draggable-widget-textinput1"]`).should(
"have.value",
data.customMessage
);
verifyTooltip(
commonWidgetSelector.draggableWidget(widgetName),
data.tooltipText
);
verifyWidgetColorCss(widgetName, "background-color", data.backgroundColor);
verifyWidgetColorCss(widgetName, "color", data.textColor);
verifyLoaderColor(widgetName, data.loaderColor);
cy.get(commonWidgetSelector.draggableWidget(widgetName)).should(
"have.css",
"border-radius",
"20px"
);
verifyBoxShadowCss(widgetName, data.boxShadowColor, data.boxShadowParam);
};