2024-02-06 04:57:31 +00:00
|
|
|
import { commonWidgetSelector } from "Selectors/common";
|
|
|
|
|
import {
|
|
|
|
|
addAndVerifyTooltip,
|
|
|
|
|
openAccordion,
|
|
|
|
|
openEditorSidebar,
|
|
|
|
|
selectColourFromColourPicker,
|
|
|
|
|
verifyAndModifyParameter,
|
|
|
|
|
verifyAndModifyToggleFx,
|
|
|
|
|
verifyWidgetColorCss,
|
|
|
|
|
} from "Support/utils/commonWidget";
|
|
|
|
|
import { commonWidgetText, customValidation } from "Texts/common";
|
|
|
|
|
import { textInputText } from "Texts/textInput";
|
|
|
|
|
|
|
|
|
|
export const addValidations = (
|
|
|
|
|
widgetName,
|
|
|
|
|
data,
|
|
|
|
|
min = commonWidgetText.labelMinLength,
|
|
|
|
|
max = commonWidgetText.labelMaxLength
|
|
|
|
|
) => {
|
|
|
|
|
openEditorSidebar(widgetName);
|
|
|
|
|
openAccordion(commonWidgetText.accordionValidation);
|
|
|
|
|
verifyAndModifyParameter(
|
|
|
|
|
commonWidgetText.labelRegex,
|
|
|
|
|
commonWidgetText.regularExpression
|
|
|
|
|
);
|
|
|
|
|
verifyAndModifyParameter(min, data.minimumLength);
|
|
|
|
|
verifyAndModifyParameter(max, data.maximumLength);
|
|
|
|
|
verifyAndModifyParameter(
|
|
|
|
|
commonWidgetText.labelcustomValidadtion,
|
|
|
|
|
customValidation(data.widgetName, data.customText)
|
|
|
|
|
);
|
|
|
|
|
verifyAndModifyToggleFx("Make this field mandatory", "");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const addAndVerifyAdditionalActions = (widgetName, tooltipText) => {
|
|
|
|
|
openEditorSidebar(widgetName);
|
|
|
|
|
openAccordion("Additional Actions");
|
|
|
|
|
verifyAndModifyToggleFx(
|
|
|
|
|
commonWidgetText.parameterVisibility,
|
|
|
|
|
commonWidgetText.codeMirrorLabelTrue
|
|
|
|
|
);
|
|
|
|
|
cy.get(commonWidgetSelector.draggableWidget(widgetName)).should(
|
|
|
|
|
"not.be.visible"
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
cy.get(
|
|
|
|
|
commonWidgetSelector.parameterTogglebutton(
|
|
|
|
|
commonWidgetText.parameterVisibility
|
|
|
|
|
)
|
|
|
|
|
).click();
|
|
|
|
|
|
|
|
|
|
verifyAndModifyToggleFx(
|
|
|
|
|
commonWidgetText.parameterDisable,
|
|
|
|
|
commonWidgetText.codeMirrorLabelFalse
|
|
|
|
|
);
|
|
|
|
|
cy.waitForAutoSave();
|
|
|
|
|
cy.get(commonWidgetSelector.draggableWidget(widgetName)).should(
|
|
|
|
|
"have.attr",
|
|
|
|
|
"disabled"
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
cy.get(
|
|
|
|
|
commonWidgetSelector.parameterTogglebutton(
|
|
|
|
|
commonWidgetText.parameterDisable
|
|
|
|
|
)
|
|
|
|
|
).click();
|
|
|
|
|
|
|
|
|
|
verifyAndModifyToggleFx(
|
|
|
|
|
commonWidgetText.loadingState,
|
|
|
|
|
commonWidgetText.codeMirrorLabelFalse
|
|
|
|
|
);
|
|
|
|
|
cy.get(commonWidgetSelector.draggableWidget(widgetName))
|
|
|
|
|
.parent()
|
|
|
|
|
.within(() => {
|
|
|
|
|
cy.get(".tj-widget-loader").should("be.visible");
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
cy.get(
|
|
|
|
|
commonWidgetSelector.parameterTogglebutton(commonWidgetText.loadingState)
|
|
|
|
|
).click();
|
|
|
|
|
|
|
|
|
|
addAndVerifyTooltip(
|
|
|
|
|
commonWidgetSelector.draggableWidget(widgetName),
|
|
|
|
|
tooltipText
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const addAllInputFieldColors = (data) => {
|
2024-02-13 09:44:39 +00:00
|
|
|
selectColourFromColourPicker("Background", data.bgColor);
|
|
|
|
|
selectColourFromColourPicker("Border", data.borderColor);
|
|
|
|
|
selectColourFromColourPicker("Text", data.textColor);
|
|
|
|
|
selectColourFromColourPicker("Error text", data.errorTextColor);
|
|
|
|
|
selectColourFromColourPicker("", data.iconColor);
|
|
|
|
|
cy.forceClickOnCanvas();
|
|
|
|
|
openEditorSidebar(data.widgetName);
|
|
|
|
|
cy.get('[data-cy="make-this-field-mandatory-toggle-button"]').click();
|
|
|
|
|
cy.get(commonWidgetSelector.buttonStylesEditorSideBar).click();
|
2024-02-06 04:57:31 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const verifyInputFieldColors = (selectorInput, data) => {
|
|
|
|
|
verifyWidgetColorCss(selectorInput, "color", data.textColor);
|
|
|
|
|
verifyWidgetColorCss(selectorInput, "border-color", data.borderColor);
|
|
|
|
|
verifyWidgetColorCss(selectorInput, "background-color", data.bgColor);
|
2024-02-13 09:44:39 +00:00
|
|
|
cy.get(commonWidgetSelector.draggableWidget(data.widgetName)).clear();
|
2024-02-06 04:57:31 +00:00
|
|
|
cy.forceClickOnCanvas();
|
|
|
|
|
cy.verifyCssProperty(
|
2024-02-13 09:44:39 +00:00
|
|
|
`[data-cy="${data.widgetName}-invalid-feedback"]`,
|
2024-02-06 04:57:31 +00:00
|
|
|
"color",
|
|
|
|
|
`rgba(${data.errorTextColor[0]}, ${data.errorTextColor[1]}, ${
|
|
|
|
|
data.errorTextColor[2]
|
|
|
|
|
}, ${data.errorTextColor[3] / 100})`
|
|
|
|
|
);
|
|
|
|
|
|
2024-02-13 09:44:39 +00:00
|
|
|
cy.get(commonWidgetSelector.draggableWidget(data.widgetName))
|
2024-02-06 04:57:31 +00:00
|
|
|
.siblings("svg")
|
|
|
|
|
.should(
|
|
|
|
|
"have.css",
|
|
|
|
|
"stroke",
|
|
|
|
|
`rgba(${data.iconColor[0]}, ${data.iconColor[1]}, ${data.iconColor[2]}, ${
|
|
|
|
|
data.iconColor[3] / 100
|
|
|
|
|
})`
|
|
|
|
|
);
|
|
|
|
|
};
|
2024-02-13 09:44:39 +00:00
|
|
|
|
|
|
|
|
export const verifyLabelStyleElements = () => {
|
|
|
|
|
cy.get('[data-cy="widget-accordion-label"]').verifyVisibleElement(
|
|
|
|
|
"have.text",
|
|
|
|
|
"label"
|
|
|
|
|
);
|
|
|
|
|
cy.get('[data-cy="label-alignment"]').verifyVisibleElement(
|
|
|
|
|
"have.text",
|
|
|
|
|
"Alignment"
|
|
|
|
|
);
|
|
|
|
|
cy.get('[data-cy="label-width"]').verifyVisibleElement("have.text", "Width");
|
|
|
|
|
cy.get('[data-cy="width-input-field"]')
|
|
|
|
|
.eq(0)
|
|
|
|
|
.should("have.value", "33")
|
|
|
|
|
.siblings("label")
|
|
|
|
|
.should("have.text", "% of the field");
|
|
|
|
|
cy.get('[data-cy="auto-width-label"]').verifyVisibleElement(
|
|
|
|
|
"have.text",
|
|
|
|
|
"Auto width"
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const verifyAlignment = (componentName, position, side) => {
|
|
|
|
|
const alignments = {
|
|
|
|
|
topLeft: { y: "flex-column", x: "flex-start" },
|
|
|
|
|
topRight: { y: "flex-column", x: "flex-end" },
|
|
|
|
|
sideLeft: { y: "align-items-center", x: "flex-start" },
|
|
|
|
|
sideRight: { y: "align-items-center", x: "flex-end" },
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const { y, x } = alignments[position];
|
|
|
|
|
|
|
|
|
|
cy.get(`[data-cy="label-${componentName.toLowerCase()}"]`)
|
|
|
|
|
.should("have.class", y)
|
|
|
|
|
.children("label")
|
|
|
|
|
.should("have.css", "justify-content", x);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const verifyCustomWidthOfLabel = (componentName, width) => {
|
|
|
|
|
cy.get(`[data-cy="label-${componentName.toLowerCase()}"]`)
|
|
|
|
|
.children("label")
|
|
|
|
|
.should("have.attr", "style")
|
|
|
|
|
.and("include", `width: ${width}%`);
|
|
|
|
|
//
|
|
|
|
|
// .should("have.css", "width", `${width}%`);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
export const addCustomWidthOfLabel = (width) => {
|
|
|
|
|
cy.get('[data-cy="auto-width-checkbox"]').click();
|
|
|
|
|
cy.get('[data-cy="width-input-field"]')
|
|
|
|
|
.eq(0)
|
|
|
|
|
.type(`{selectAll}{backspace}${width}`, { force: true });
|
|
|
|
|
};
|