ToolJet/cypress-tests/cypress/support/utils/version.js
Midhun G S 0c5ab3484c
Platform LTS Final fixes (#13221)
* Cloud Blocker bugfixes (#13160)

* fix

* minor email fixes

* settings menu fix

* fixes

* Bugfixes/whitelabelling apis (#13180)

* white-labelling apis

* removed consoles logs

* reverts

* fixes for white-labelling

* fixes

* reverted breadcrumb changes (#13194)

* fixes for getting public sso configurations

* fix for enable signup on cloud

* Cloud Trial and Banners (#13182)

* Cloud Blocker bugfixes (#13160)

* fix

* minor email fixes

* settings menu fix

* fixes

* Cloud Trial and Banners

* revert

* initial commit

* Added website onboarding APIs

* moved ai onboarding controller to auth module

* ee banners

* fix

---------

Co-authored-by: Rohan Lahori <[email protected]>
Co-authored-by: gsmithun4 <[email protected]>

* Bugfixes/minor UI fixes-CLoud (#13203)

* Bugfixes/UI bugs platform 1 (#13205)

* cleanup

* Audit logs fix

* gitignore changes

* postgrest configs removed

* removed unused import

* improvements

* fix

* improved startup logs

* Platform cypress fix (#13192)

* Cloud Blocker bugfixes (#13160)

* fix

* minor email fixes

* settings menu fix

* fixes

* Bugfixes/whitelabelling apis (#13180)

* white-labelling apis

* removed consoles logs

* reverts

* fixes for white-labelling

* fixes

* Cypress fix

* reverted breadcrumb changes (#13194)

* cypress fix

* title fix

* fixes for getting public sso configurations

---------

Co-authored-by: Rohan Lahori <[email protected]>
Co-authored-by: gsmithun4 <[email protected]>

* deployment fix

* added interfaces and permissions

* Bugfixes/lts 3.6 branch 1 platform (#13238)

* fix

* Licensing Banners Fixes Cloud and EE (#13241)

* design: Adds license buttons to header

* Refactor header actions

* Cloud Blocker bugfixes (#13160)

* fix

* minor email fixes

* settings menu fix

* fixes

* subscription page

* fix banners

---------

Co-authored-by: Nithin David Thomas <[email protected]>
Co-authored-by: Rohan Lahori <[email protected]>

* fix for public apps

* fix

* CE Instance Signup bug (#13254)

* CE Instance Signup bug

* improvement

* fix

* Add WEBSITE_SIGNUP_URL to deployment environment variables

* Add WEBSITE_SIGNUP_URL to environment variables for deployment

* Super admin banner fix (#13262)

* Git Sync Fixes  (#13249)

* git-sync module changes

* git sync fixes

* added app resource guard

* git-sync fixes

* removed require feature

* fix

* review comment changes

* ypress fix

* App logo fix inside app builder

* fix for subpath cache

* fix (#13274)

* platform-cypress-fix (#13271)

* git sync fixes (#13277)

* fix

* Add data-cy for new components (#13289)

---------

Co-authored-by: Rohan Lahori <[email protected]>
Co-authored-by: Rudhra Deep Biswas <[email protected]>
Co-authored-by: Ajith KV <[email protected]>
Co-authored-by: Nithin David Thomas <[email protected]>
Co-authored-by: rohanlahori <[email protected]>
Co-authored-by: Adish M <[email protected]>
Co-authored-by: Rudra deep Biswas <[email protected]>
2025-07-09 22:36:41 +05:30

163 lines
5.4 KiB
JavaScript

import { appVersionText } from "Texts/exportImport";
import { appVersionSelectors } from "Selectors/exportImport";
import { commonSelectors, commonWidgetSelector } from "Selectors/common";
import { commonText } from "Texts/common";
import { verifyModal, closeModal } from "Support/utils/common";
import {
confirmVersionModalSelectors,
editVersionSelectors,
} from "Selectors/version";
import { deleteVersionText, releasedVersionText } from "Texts/version";
import { verifyComponent } from "Support/utils/basicComponents";
import { appPromote } from "./platform/multiEnv";
export const navigateToCreateNewVersionModal = (value) => {
cy.get(appVersionSelectors.appVersionLabel).click();
cy.contains(appVersionText.createNewVersion).should("be.visible");
cy.contains(appVersionText.createNewVersion).click();
};
export const navigateToEditVersionModal = (value) => {
cy.get(appVersionSelectors.currentVersionField(value))
.should("be.visible")
.click();
cy.get('[style="padding: 8px 12px;"] .row')
.should("be.visible")
.within(() => {
cy.get(".icon").trigger("mouseover").click();
});
};
export const verifyElementsOfCreateNewVersionModal = (version = []) => {
cy.get(appVersionSelectors.createNewVersion).verifyVisibleElement(
"have.text",
appVersionText.createNewVersion
);
cy.get(appVersionSelectors.versionNamelabel).verifyVisibleElement(
"have.text",
appVersionText.versionNameLabel
);
cy.get(appVersionSelectors.createVersionFromLabel).verifyVisibleElement(
"have.text",
appVersionText.createVersionFromLabel
);
cy.get(appVersionSelectors.versionNameInputField).should("be.visible");
cy.get(appVersionSelectors.createVersionInputField).verifyVisibleElement(
"have.text",
version[0]
);
cy.get(
commonSelectors.buttonSelector(appVersionText.createNewVersion)
).verifyVisibleElement("have.text", appVersionText.createNewVersion);
cy.get(commonSelectors.buttonSelector(commonText.cancelButton))
.should("be.visible")
.and("have.text", commonText.cancelButton);
cy.get(commonSelectors.buttonSelector(commonText.closeButton))
.should("be.visible")
.click();
};
export const editVersionAndVerify = (
currentVersion,
newVersion = [],
toastMessageText
) => {
cy.get(appVersionSelectors.currentVersionField(currentVersion)).then(
($ele) => {
if ($ele.hasClass("color-light-green")) {
cy.contains(releasedVersionText.releasedModalText).should("be.visible");
closeModal(commonText.closeButton);
}
}
);
navigateToEditVersionModal(currentVersion);
cy.get(editVersionSelectors.versionNameInputField).verifyVisibleElement(
"have.value",
currentVersion
);
cy.clearAndType(editVersionSelectors.versionNameInputField, newVersion[0]);
cy.get(editVersionSelectors.saveButton).click();
cy.wait(500);
cy.verifyToastMessage(commonSelectors.toastMessage, toastMessageText);
};
export const deleteVersionAndVerify = (value, toastMessageText) => {
cy.get(appVersionSelectors.currentVersionField(value))
.should("be.visible")
.click();
cy.contains(`[id*="react-select-"]`, value)
.should("be.visible")
.within(() => {
cy.get(" .app-version-list-item")
.trigger("mouseover")
.trigger("mouseenter")
.find(".app-version-delete")
.click({ force: true });
});
cy.get(commonSelectors.modalMessage).verifyVisibleElement(
"have.text",
deleteVersionText.deleteModalText(value)
);
cy.get(confirmVersionModalSelectors.yesButton).click();
cy.verifyToastMessage(
commonSelectors.toastMessage,
deleteVersionText.deleteToastMessage(value),
false
);
};
export const verifyDuplicateVersion = (newVersion = [], version) => {
cy.contains(appVersionText.createNewVersion).should("be.visible").click();
cy.get(appVersionSelectors.createVersionInputField).click();
cy.contains(`[id*="react-select-"]`, version).click();
cy.clearAndType(appVersionSelectors.versionNameInputField, newVersion[0]);
cy.get(appVersionSelectors.createNewVersionButton).click();
cy.verifyToastMessage(
commonSelectors.toastMessage,
appVersionText.versionNameAlreadyExists
// "Already exists!"
);
};
export const releasedVersionAndVerify = (currentVersion) => {
cy.ifEnv("Enterprise", () => {
appPromote("development", "production");
});
cy.contains("Release").click();
cy.get(confirmVersionModalSelectors.yesButton).click();
cy.verifyToastMessage(
commonSelectors.toastMessage,
releasedVersionText.releasedToastMessage(currentVersion)
);
cy.forceClickOnCanvas();
cy.get(".released-version-popup-cover").verifyVisibleElement(
"have.text",
releasedVersionText.releasedAppText
);
};
export const verifyVersionAfterPreview = (currentVersion) => {
cy.get(appVersionSelectors.currentVersionField(currentVersion)).should(
"be.visible"
);
cy.get(commonWidgetSelector.previewButton)
.invoke("removeAttr", "target")
.click();
cy.url().should("include", "/home");
cy.wait(2000);
cy.get('[data-cy^="draggable-widget-table"]').should("be.visible");
cy.url().should("include", `version=${currentVersion}`);
// cy.get('[data-cy="viewer-page-logo"]').click();
cy.go("back");
cy.wait(8000);
};
export const switchVersionAndVerify = (currentVersion, newVersion) => {
cy.get(appVersionSelectors.currentVersionField(currentVersion))
.should("be.visible")
.click();
cy.get(".app-version-name").contains(newVersion).click();
};