ToolJet/cypress-tests/cypress/e2e/exportImport/export.cy.js
Midhun Kumar E 1b272b53f4
Fixed cypress for app builder on Platform v1.1 (#6993)
* App Builder cypress fix

* Revert typo

* Fix for hotfix failures

* Fix for canvas height

* Fix for runPy

* Fix for popover

* Fix for popover-2

* Fix for table column issue

* Fix inspector

* fix versions
2023-07-12 13:29:13 +05:30

137 lines
4.6 KiB
JavaScript

import { commonSelectors } from "Selectors/common";
import {
appVersionSelectors,
exportAppModalSelectors,
} from "Selectors/exportImport";
import { exportAppModalText, appVersionText } from "Texts/exportImport";
import {
verifyElementsOfExportModal,
createNewVersion,
clickOnExportButtonAndVerify,
exportAllVersionsAndVerify,
} from "Support/utils/exportImport";
import {
closeModal,
navigateToAppEditor,
selectAppCardOption,
} from "Support/utils/common";
import { commonText } from "Texts/common";
import { fake } from "Fixtures/fake";
import { buttonText } from "Texts/button";
describe("App Export Functionality", () => {
var data = {};
data.appName1 = `${fake.companyName}-App`;
let currentVersion = "";
let otherVersions = [];
beforeEach(() => {
cy.appUILogin();
});
it("Verify the elements of export dialog box", () => {
cy.createApp(data.appName1);
cy.dragAndDropWidget(buttonText.defaultWidgetText);
cy.get(appVersionSelectors.appVersionLabel).should("be.visible");
cy.renameApp(data.appName1);
cy.get(commonSelectors.appNameInput).verifyVisibleElement(
"have.value",
data.appName1
);
cy.waitForAutoSave();
cy.get(appVersionSelectors.currentVersionField((currentVersion = "v1")))
.should("be.visible")
.invoke("text")
.then(() => {
cy.get(commonSelectors.editorPageLogo).should("be.visible").click();
cy.get(commonSelectors.appHeaderLable).should("be.visible");
cy.reload();
selectAppCardOption(
data.appName1,
commonSelectors.appCardOptions(commonText.exportAppOption)
);
verifyElementsOfExportModal((currentVersion = "v1"));
});
});
it("Verify 'Export app' functionality of an application", () => {
cy.get(commonSelectors.appHeaderLable).should("be.visible");
selectAppCardOption(
data.appName1,
commonSelectors.appCardOptions(commonText.exportAppOption)
);
verifyElementsOfExportModal((currentVersion = "v1"));
closeModal(exportAppModalText.modalCloseButton);
selectAppCardOption(
data.appName1,
commonSelectors.appCardOptions(commonText.exportAppOption)
);
cy.get(exportAppModalSelectors.currentVersionSection).should("be.visible");
cy.get(
exportAppModalSelectors.versionRadioButton((currentVersion = "v1"))
).verifyVisibleElement("be.checked");
clickOnExportButtonAndVerify(
exportAppModalText.exportSelectedVersion,
data.appName1
);
cy.exec("cd ./cypress/downloads/ && rm -rf *");
selectAppCardOption(
data.appName1,
commonSelectors.appCardOptions(commonText.exportAppOption)
);
cy.get(exportAppModalSelectors.currentVersionSection).should("be.visible");
exportAllVersionsAndVerify(data.appName1, (currentVersion = "v1"));
cy.exec("cd ./cypress/downloads/ && rm -rf *");
navigateToAppEditor(data.appName1);
cy.get('[data-cy="widget-list-box-table"]').should("be.visible");
cy.skipEditorPopover();
cy.get(appVersionSelectors.appVersionMenuField)
.should("be.visible")
.click();
createNewVersion((otherVersions = ["v2"]), (currentVersion = "v1"));
cy.wait(500);
cy.dragAndDropWidget("Toggle Switch", 50, 50);
cy.waitForAutoSave();
cy.get(appVersionSelectors.currentVersionField((otherVersions = "v2")))
.should("be.visible")
.invoke("text")
.then(() => {
cy.get(commonSelectors.editorPageLogo).click();
cy.get(commonSelectors.appHeaderLable).should("be.visible");
selectAppCardOption(
data.appName1,
commonSelectors.appCardOptions(commonText.exportAppOption)
);
verifyElementsOfExportModal(
(currentVersion = "v2"),
(otherVersions = ["v1"])
);
exportAllVersionsAndVerify(
data.appName1,
(currentVersion = "v2"),
(otherVersions = ["v1"])
);
cy.exec("cd ./cypress/downloads/ && rm -rf *");
});
selectAppCardOption(
data.appName1,
commonSelectors.appCardOptions(commonText.exportAppOption)
);
cy.get(exportAppModalSelectors.currentVersionSection).should("be.visible");
cy.get(
exportAppModalSelectors.versionRadioButton((currentVersion = "v2"))
).verifyVisibleElement("be.checked");
cy.get(exportAppModalSelectors.versionRadioButton((currentVersion = "v1")))
.click()
.verifyVisibleElement("be.checked");
clickOnExportButtonAndVerify(
exportAppModalText.exportSelectedVersion,
data.appName1
);
cy.exec("cd ./cypress/downloads/ && rm -rf *");
});
});