ToolJet/cypress-tests/cypress/e2e/exportImport/export.cy.js
Mekhla Asopa 046300a7a0
Fixed datasource cypress failure specs (#8763)
* updated text value

* update export import specs with api login

* skip database spec
2024-02-15 14:40:48 +05:30

140 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.apiLogin();
});
it("Verify the elements of export dialog box", () => {
cy.apiCreateApp(data.appName1);
cy.openApp();
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");
cy.backToApps();
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.visit("/");
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.backToApps();
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 *");
});
});