mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-24 06:57:40 +00:00
* Fix failing cypress test cases * modify test cases * modify failing test cases * modify failing test cases * Fix failing test cases * Fix failing test cases * fix failing test cases * fix failing test cases * fix failing test cases
113 lines
2.9 KiB
JavaScript
113 lines
2.9 KiB
JavaScript
import { commonSelectors } from "Selectors/common";
|
|
import { commonText } from "Texts/common";
|
|
import { workspaceConstantsSelectors } from "Selectors/workspaceConstants";
|
|
import { createFolder, deleteFolder } from "Support/utils/common";
|
|
import { addNewconstants } from "Support/utils/workspaceConstants";
|
|
|
|
const appOperations = {
|
|
createApp: (appName) => {
|
|
cy.createApp(appName);
|
|
cy.backToApps();
|
|
},
|
|
|
|
deleteApp: (appName) => {
|
|
cy.deleteApp(appName);
|
|
cy.verifyToastMessage(
|
|
commonSelectors.toastMessage,
|
|
commonText.appDeletedToast
|
|
);
|
|
},
|
|
|
|
cloneApp: (appName) => {
|
|
cy.get(commonSelectors.appCard(appName))
|
|
.trigger("mouseover")
|
|
.find(commonSelectors.cloneButton)
|
|
.click();
|
|
},
|
|
};
|
|
|
|
const folderOperations = {
|
|
createFolder: (folderName) => {
|
|
createFolder(folderName);
|
|
},
|
|
|
|
deleteFolder: (folderName) => {
|
|
deleteFolder(folderName);
|
|
},
|
|
};
|
|
|
|
const constantsOperations = {
|
|
createConstant: (name, value) => {
|
|
cy.get(commonSelectors.workspaceConstantsIcon).click();
|
|
addNewconstants(name, value);
|
|
},
|
|
|
|
deleteConstant: (name) => {
|
|
cy.get(workspaceConstantsSelectors.constDeleteButton(name)).click();
|
|
cy.get(commonSelectors.yesButton).click();
|
|
},
|
|
};
|
|
|
|
// Permission verification helpers
|
|
const verifyPermissions = {
|
|
checkAppPermissions: (shouldExist = true) => {
|
|
const assertion = shouldExist ? "exist" : "not.exist";
|
|
cy.get(commonSelectors.appCreateButton).should(assertion);
|
|
},
|
|
|
|
checkFolderPermissions: (shouldExist = true) => {
|
|
const assertion = shouldExist ? "exist" : "not.exist";
|
|
cy.get(commonSelectors.createNewFolderButton).should(assertion);
|
|
},
|
|
|
|
checkConstantsPermissions: (shouldExist = true) => {
|
|
const assertion = shouldExist ? "exist" : "not.exist";
|
|
cy.get(commonSelectors.workspaceConstantsIcon).should(assertion);
|
|
},
|
|
|
|
checkSettingsAccess: (shouldExist = true) => {
|
|
cy.get(commonSelectors.settingsIcon).click();
|
|
cy.get(commonSelectors.workspaceSettings).should(
|
|
shouldExist ? "exist" : "not.exist"
|
|
);
|
|
},
|
|
};
|
|
|
|
// Helper function to perform all verifications
|
|
const verifyAllPermissions = (shouldHaveAccess = true) => {
|
|
verifyPermissions.checkAppPermissions(shouldHaveAccess);
|
|
verifyPermissions.checkFolderPermissions(shouldHaveAccess);
|
|
verifyPermissions.checkConstantsPermissions(shouldHaveAccess);
|
|
verifyPermissions.checkSettingsAccess(shouldHaveAccess);
|
|
};
|
|
|
|
// Role-based permission sets
|
|
const rolePermissions = {
|
|
admin: {
|
|
name: "Admin",
|
|
hasFullAccess: true,
|
|
canManageWorkspace: true,
|
|
canManageUsers: true,
|
|
},
|
|
builder: {
|
|
name: "Builder",
|
|
hasFullAccess: true,
|
|
canManageWorkspace: false,
|
|
canManageUsers: false,
|
|
},
|
|
endUser: {
|
|
name: "End User",
|
|
hasFullAccess: false,
|
|
canManageWorkspace: false,
|
|
canManageUsers: false,
|
|
},
|
|
};
|
|
|
|
export {
|
|
appOperations,
|
|
folderOperations,
|
|
constantsOperations,
|
|
verifyPermissions,
|
|
verifyAllPermissions,
|
|
rolePermissions,
|
|
};
|