Add tests for Propertypane drag and drop (#6131)
This commit is contained in:
parent
109039c342
commit
54e81e4e33
|
|
@ -0,0 +1,86 @@
|
||||||
|
const commonlocators = require("../../../../locators/commonlocators.json");
|
||||||
|
const formWidgetsPage = require("../../../../locators/FormWidgets.json");
|
||||||
|
const widgetsPage = require("../../../../locators/Widgets.json");
|
||||||
|
const publish = require("../../../../locators/publishWidgetspage.json");
|
||||||
|
const dsl = require("../../../../fixtures/newFormDsl.json");
|
||||||
|
const formWidgetDsl = require("../../../../fixtures/formWidgetdsl.json");
|
||||||
|
const pages = require("../../../../locators/Pages.json");
|
||||||
|
const widgetList = ["inputwidget","dropdownwidget","buttonwidget",
|
||||||
|
"checkboxwidget","datepickerwidget","richtexteditorwidget",
|
||||||
|
"filepickerwidget", "switchwidget","containerwidget"];
|
||||||
|
|
||||||
|
//const widgetList = ["radiowidget"];
|
||||||
|
//const widgetList = ["inputwidget"];
|
||||||
|
describe("Widget property pane draggable", function() {
|
||||||
|
before(() => {
|
||||||
|
cy.addDsl(dsl);
|
||||||
|
});
|
||||||
|
it("Property pane initial position same untill it is dragged", function() {
|
||||||
|
for (const testWidget of widgetList) {
|
||||||
|
cy.openPropertyPane(testWidget);
|
||||||
|
cy.get("#popper-draghandler").then((oldPorpPane) => {
|
||||||
|
const oldPropPanePosition = oldPorpPane[0].getBoundingClientRect();
|
||||||
|
cy.get(commonlocators.collapsesection)
|
||||||
|
.first()
|
||||||
|
.click();
|
||||||
|
cy.get(commonlocators.editPropCrossButton).click({ force: true });
|
||||||
|
cy.openPropertyPane(testWidget);
|
||||||
|
cy.get("#popper-draghandler").then((newPropPane) => {
|
||||||
|
const newPropPanePosition = newPropPane[0].getBoundingClientRect();
|
||||||
|
cy.get(commonlocators.editPropCrossButton).click({ force: true });
|
||||||
|
expect(oldPropPanePosition.top).to.be.equal(newPropPanePosition.top);
|
||||||
|
expect(oldPropPanePosition.left).to.be.equal(newPropPanePosition.left);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
it("Property pane position should stay same after dragging down", () => {
|
||||||
|
for (const testWidget of widgetList) {
|
||||||
|
cy.openPropertyPane(testWidget);
|
||||||
|
cy.get("#popper-draghandler")
|
||||||
|
.trigger("mousedown", { which: 1 })
|
||||||
|
.trigger("mousemove", { clientX: 400, clientY: 500 })
|
||||||
|
.trigger("mouseup", { force: true });
|
||||||
|
cy.get("#popper-draghandler").then((oldPorpPane) => {
|
||||||
|
const oldPropPanePosition = oldPorpPane[0].getBoundingClientRect();
|
||||||
|
cy.get(commonlocators.editPropCrossButton).click({ force: true });
|
||||||
|
cy.openPropertyPane("containerwidget");
|
||||||
|
cy.get("#popper-draghandler").then((newPropPane) => {
|
||||||
|
const newPropPanePosition = newPropPane[0].getBoundingClientRect();
|
||||||
|
cy.get(commonlocators.editPropCrossButton).click({ force: true });
|
||||||
|
expect(oldPropPanePosition.top).to.be.equal(newPropPanePosition.top);
|
||||||
|
expect(oldPropPanePosition.left).to.be.equal(newPropPanePosition.left);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
it("Property pane should come back into view if forced to drop out of view", () => {
|
||||||
|
for (const testWidget of widgetList) {
|
||||||
|
cy.openPropertyPane(testWidget);
|
||||||
|
cy.get("#popper-draghandler")
|
||||||
|
.trigger("mousedown", { which: 1 })
|
||||||
|
.trigger("mousemove", { clientX: -10, clientY: -20 })
|
||||||
|
.trigger("mouseup", { force: true });
|
||||||
|
cy.get("#popper-draghandler").then((porpPane) => {
|
||||||
|
const propPanePosition = porpPane[0].getBoundingClientRect();
|
||||||
|
expect(propPanePosition.top).to.be.greaterThan(0);
|
||||||
|
expect(propPanePosition.left).to.be.gte(0);
|
||||||
|
});
|
||||||
|
cy.get("#popper-draghandler")
|
||||||
|
.trigger("mousedown", { which: 1 })
|
||||||
|
.trigger("mousemove", { clientX: 1600, clientY: 800 })
|
||||||
|
.trigger("mouseup", { force: true });
|
||||||
|
cy.get("#popper-draghandler").then((porpPane) => {
|
||||||
|
const propPanePosition = porpPane[0].getBoundingClientRect();
|
||||||
|
cy.get(commonlocators.editPropCrossButton).click({ force: true });
|
||||||
|
expect(propPanePosition.top).to.be.lessThan(
|
||||||
|
Cypress.config().viewportHeight - propPanePosition.height,
|
||||||
|
);
|
||||||
|
expect(propPanePosition.left).to.be.lessThan(
|
||||||
|
Cypress.config().viewportWidth - propPanePosition.width,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
Loading…
Reference in New Issue
Block a user