mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-24 15:07:23 +00:00
* Modify apps cypress test cases for enterprise * Update cypress.Dockerfile * cypress fix --------- Co-authored-by: Adish M <[email protected]>
120 lines
3.7 KiB
JavaScript
120 lines
3.7 KiB
JavaScript
import { multiEnvSelector, commonEeSelectors } from "Selectors/eeCommon";
|
|
import { commonSelectors, commonWidgetSelector } from "Selectors/common";
|
|
import { appVersionSelectors } from "Selectors/exportImport";
|
|
import { appVersionText } from "Texts/exportImport";
|
|
|
|
export const promoteApp = () => {
|
|
cy.get(commonEeSelectors.promoteButton).click();
|
|
cy.get(commonEeSelectors.promoteButton).eq(1).click();
|
|
cy.waitForAppLoad();
|
|
cy.wait(3000);
|
|
};
|
|
|
|
export const releaseApp = () => {
|
|
cy.get(commonSelectors.releaseButton).click();
|
|
cy.get(commonSelectors.yesButton).click();
|
|
cy.verifyToastMessage(commonSelectors.toastMessage, "Version v1 released");
|
|
cy.wait(500);
|
|
};
|
|
|
|
export const launchApp = () => {
|
|
cy.url().then((url) => {
|
|
const parts = url.split("/");
|
|
const value = parts[parts.length - 1];
|
|
cy.log(`Extracted value: ${value}`);
|
|
cy.visit(`/applications/${value}`);
|
|
cy.wait(3000);
|
|
});
|
|
};
|
|
|
|
export const appPromote = (fromEnv, toEnv) => {
|
|
const commonActions = () => {
|
|
cy.get(commonEeSelectors.promoteButton).click();
|
|
cy.get(commonEeSelectors.promoteButton).eq(1).click();
|
|
cy.waitForAppLoad();
|
|
cy.wait(2000);
|
|
};
|
|
|
|
const transitions = {
|
|
development: {
|
|
staging: commonActions,
|
|
production: () => {
|
|
commonActions();
|
|
appPromote("staging", "production");
|
|
},
|
|
release: () => {
|
|
commonActions();
|
|
commonActions();
|
|
cy.get(commonSelectors.releaseButton).click();
|
|
cy.get(commonSelectors.yesButton).click();
|
|
cy.wait(500);
|
|
},
|
|
},
|
|
staging: {
|
|
production: commonActions,
|
|
release: () => {
|
|
commonActions();
|
|
cy.get(commonSelectors.releaseButton).click();
|
|
cy.get(commonSelectors.yesButton).click();
|
|
cy.wait(500);
|
|
},
|
|
},
|
|
};
|
|
|
|
const transition = transitions[fromEnv]?.[toEnv];
|
|
|
|
transition();
|
|
};
|
|
|
|
export const createNewVersion = (value, newVersion = [], version) => {
|
|
cy.get('[data-cy="list-current-env-name"]').click();
|
|
cy.get(multiEnvSelector.envNameList).eq(0).click();
|
|
cy.get(appVersionSelectors.currentVersionField(value)).click();
|
|
cy.get(appVersionSelectors.createNewVersionButton).click();
|
|
cy.get(appVersionSelectors.createVersionInputField).click();
|
|
cy.contains(`[id*="react-select-"]`, version).click();
|
|
cy.get(appVersionSelectors.versionNameInputField).click().type(newVersion[0]);
|
|
cy.get(appVersionSelectors.createNewVersionButton).click();
|
|
cy.waitForAppLoad();
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
appVersionText.createdToastMessage
|
|
);
|
|
cy.get(appVersionSelectors.currentVersionField(newVersion[0])).should(
|
|
"be.visible"
|
|
);
|
|
};
|
|
|
|
export const selectVersion = (value, newVersion = []) => {
|
|
cy.get(appVersionSelectors.currentVersionField(value)).click();
|
|
cy.get(".react-select__menu-list .app-version-name")
|
|
.contains(newVersion[0])
|
|
.click();
|
|
cy.waitForAppLoad();
|
|
};
|
|
|
|
export const selectEnv = (envName) => {
|
|
const envIndex = {
|
|
development: 0,
|
|
staging: 1,
|
|
production: 2,
|
|
}[envName];
|
|
|
|
const isValidEnvName = (envName) => {
|
|
return (
|
|
envName === "development" ||
|
|
envName === "staging" ||
|
|
envName === "production"
|
|
);
|
|
};
|
|
|
|
if (isValidEnvName(envName)) {
|
|
cy.get('[data-cy="list-current-env-name"]').click();
|
|
cy.wait(500)
|
|
const envSelector = `${multiEnvSelector.envNameList}:eq(${envIndex})`;
|
|
cy.get(envSelector).click();
|
|
cy.waitForAppLoad();
|
|
}
|
|
};
|
|
|
|
|