mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-21 21:47:17 +00:00
128 lines
3.9 KiB
JavaScript
128 lines
3.9 KiB
JavaScript
import {
|
|
verifyElemtsNoGds,
|
|
verifyElemtsWithGds,
|
|
} from "Support/utils/queryPanel/queryEditor";
|
|
import {
|
|
resizeQueryPanel,
|
|
query,
|
|
verifypreview,
|
|
} from "Support/utils/dataSource";
|
|
import { verifyNodeData, openNode, verifyValue } from "Support/utils/inspector";
|
|
import { commonSelectors, commonWidgetSelector } from "Selectors/common";
|
|
import {
|
|
selectCSA,
|
|
selectEvent,
|
|
addSupportCSAData,
|
|
} from "Support/utils/events";
|
|
|
|
describe("Query Editor", () => {
|
|
beforeEach(() => {
|
|
cy.apiLogin();
|
|
});
|
|
|
|
it("should verify Elements on query editor", () => {
|
|
cy.apiCreateApp();
|
|
cy.openApp();
|
|
verifyElemtsNoGds();
|
|
verifyElemtsWithGds("cypress-psql");
|
|
cy.apiDeleteDS(`cypress-psql`);
|
|
});
|
|
|
|
it("should verify Functionality of query editor", () => {
|
|
cy.apiCreateApp();
|
|
cy.openApp();
|
|
resizeQueryPanel("80");
|
|
|
|
cy.get('[data-cy="restapi-add-query-card"]').click();
|
|
cy.get('[data-cy="query-rename-input"]').clear();
|
|
cy.forceClickOnCanvas();
|
|
cy.get('[data-cy="query-name-label"]').click();
|
|
cy.get('[data-cy="query-rename-input"]').clear().type("new name");
|
|
cy.forceClickOnCanvas();
|
|
cy.get('[data-cy="query-name-label"]').click();
|
|
cy.get('[data-cy="query-rename-input"]').clear().type("new_name");
|
|
cy.waitForAutoSave();
|
|
cy.wait(3000);
|
|
cy.get('[data-cy="-input-field"]:eq(0)').clearCodeMirror();
|
|
cy.get('[data-cy="-input-field"]:eq(0)').type(
|
|
"https://gorest.co.in/public/v2/users"
|
|
);
|
|
query("preview");
|
|
verifypreview("raw", '"gender":"male"');
|
|
});
|
|
|
|
it("should verify imported app's queries", () => {
|
|
cy.visit("/");
|
|
cy.window({ log: false }).then((win) => {
|
|
win.localStorage.setItem("walkthroughCompleted", "true");
|
|
});
|
|
cy.get('[data-testid="applicationFoldersList"]').should("be.visible");
|
|
cy.importApp(
|
|
"cypress/fixtures/templates/appbuilderApps/querytest-export-1695183432845.json"
|
|
);
|
|
resizeQueryPanel("70");
|
|
cy.get('[data-cy="draggable-widget-text1"]').verifyVisibleElement(
|
|
"have.text",
|
|
"dataPresent"
|
|
);
|
|
|
|
query("preview");
|
|
verifypreview("raw", "dataPresent");
|
|
});
|
|
|
|
it("should verify transformation", () => {
|
|
cy.apiCreateApp();
|
|
cy.openApp();
|
|
resizeQueryPanel("80");
|
|
|
|
cy.get('[data-cy="restapi-add-query-card"]').should("be.visible").click();
|
|
cy.get('[data-cy="query-rename-input"]').clear();
|
|
cy.get('[data-cy="query-rename-input"]').clear().type("new_name");
|
|
cy.waitForAutoSave();
|
|
cy.get('[data-cy="-input-field"]:eq(0)').clearCodeMirror();
|
|
cy.get('[data-cy="-input-field"]:eq(0)').type(
|
|
"https://gorest.co.in/public/v2/users"
|
|
);
|
|
|
|
cy.get("span.d-flex > .custom-toggle-switch > .switch > .slider").click();
|
|
cy.get('[data-cy="transformation-input-input-field"]').clearCodeMirror();
|
|
cy.get(
|
|
'[data-cy="transformation-input-input-field"]'
|
|
).clearAndTypeOnCodeMirror(
|
|
'return typeof(data.filter(person => person.gender === "female").length)==="number"'
|
|
);
|
|
|
|
query("preview");
|
|
verifypreview("raw", "true");
|
|
|
|
query("run");
|
|
cy.get(commonWidgetSelector.sidebarinspector).click();
|
|
cy.hideTooltip();
|
|
openNode("queries");
|
|
openNode("new_name");
|
|
verifyValue("data", "Boolean", "true");
|
|
});
|
|
|
|
it("should verify Event Handler", () => {
|
|
cy.apiCreateApp();
|
|
cy.openApp();
|
|
resizeQueryPanel("80");
|
|
|
|
cy.get('[data-cy="restapi-add-query-card"]').should("be.visible").click();
|
|
cy.wait(500);
|
|
|
|
selectEvent("Query Failure", "Set variable");
|
|
addSupportCSAData("key", "globalVar");
|
|
addSupportCSAData("variable", "globalVar");
|
|
query("run");
|
|
cy.get(commonWidgetSelector.sidebarinspector).click();
|
|
openNode("variables");
|
|
verifyValue("globalVar", "String", `"globalVar"`);
|
|
|
|
cy.get('[data-cy="event-handler-card"] ')
|
|
.realHover()
|
|
.find(".tj-base-btn")
|
|
.click();
|
|
cy.notVisible('[data-cy="event-handler-card"] ');
|
|
});
|
|
});
|