ToolJet/cypress-tests/cypress/e2e/regressionSuite/appBuilder/queryPanel/queryEditorRegression.cy.js
Midhun Kumar E 06cc6ece9d
Added code coverage for cypress (#8234)
* Frontend: Add new plugin babel-plugin-istanbul

* Frontend: Add plugin to babel config

* Cypress: Add new plugin code-coverage

* Cypress: Add plugin to common  cypress suite

* Cypress: Add reports to .gitignore

* Actions: Add new action to check coverage

* Cypress: minor config changes

* test

* test-2

* Action: Add verification for generated coverage files

* Modify action file

* Modify action file with command changes

* debug commit

* debug commit-2

* debug commit-3

* Update runjsHappyPath.cy.js

* debug commit-4

* Revert "debug commit-5"

This reverts commit 8b795d86ae.

* Revert "debug commit-3"

This reverts commit d2e440e04b.

* Add action name

* Fix marketplace specs

* Fix query failures

* Add review changes

* Add cypress package.lock changes

* Add frontend package.lock changes

* Add cypress minor  package.lock changes

* Minor action changes
2023-12-28 15:16:16 +05:30

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"] ');
});
});