mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-25 23:47:17 +00:00
127 lines
3.5 KiB
JavaScript
127 lines
3.5 KiB
JavaScript
import { commonSelectors } from "Selectors/common";
|
|
import { workspaceConstantsSelectors } from "Selectors/workspaceConstants";
|
|
import { addAndVerifyConstants } from "Support/utils/workspaceConstants";
|
|
|
|
export const constantsOperations = {
|
|
createConstant: (name, value) => {
|
|
cy.get(commonSelectors.workspaceConstantsIcon).click();
|
|
addAndVerifyConstants(name, value);
|
|
},
|
|
|
|
deleteConstant: (name) => {
|
|
cy.get(workspaceConstantsSelectors.constDeleteButton(name)).click();
|
|
cy.get(commonSelectors.yesButton).click();
|
|
},
|
|
};
|
|
|
|
// Permission verification helpers
|
|
export 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"
|
|
);
|
|
},
|
|
};
|
|
|
|
export const getGroupPermissionInput = (isEnterprise, flag) => {
|
|
return isEnterprise
|
|
? {
|
|
appCreate: flag,
|
|
appDelete: flag,
|
|
appPromote: flag,
|
|
appRelease: flag,
|
|
workflowCreate: flag,
|
|
workflowDelete: flag,
|
|
dataSourceCreate: flag,
|
|
dataSourceDelete: flag,
|
|
folderCRUD: flag,
|
|
orgConstantCRUD: flag,
|
|
}
|
|
: {
|
|
appCreate: flag,
|
|
appDelete: flag,
|
|
folderCRUD: flag,
|
|
orgConstantCRUD: flag,
|
|
};
|
|
};
|
|
|
|
export const verifyBuilderPermissions = (
|
|
appName,
|
|
folderName,
|
|
constName,
|
|
constValue,
|
|
isAdmin = false
|
|
) => {
|
|
verifyBasicPermissions(true);
|
|
|
|
// App operations
|
|
cy.apiCreateApp(appName);
|
|
cy.apiDeleteApp();
|
|
|
|
// Folder operations
|
|
cy.apiCreateFolder(folderName);
|
|
cy.apiDeleteFolder();
|
|
|
|
// Constants management
|
|
cy.get(commonSelectors.workspaceConstantsIcon).click();
|
|
addAndVerifyConstants(constName, constValue);
|
|
cy.get(workspaceConstantsSelectors.constDeleteButton(constName)).click();
|
|
cy.get(commonSelectors.yesButton).click();
|
|
|
|
cy.ifEnv("Enterprise", () => {
|
|
cy.apiCreateDataSource(
|
|
`${Cypress.env("server_host")}/api/data-sources`,
|
|
appName,
|
|
"restapi",
|
|
[{ key: "url", value: "https://jsonplaceholder.typicode.com/users" }]
|
|
);
|
|
cy.apiDeleteDataSource(appName);
|
|
|
|
cy.apiCreateWorkflow(appName);
|
|
cy.apiDeleteWorkflow(appName);
|
|
});
|
|
|
|
verifySettingsAccess(isAdmin);
|
|
};
|
|
|
|
export const verifyBasicPermissions = (canCreate = true) => {
|
|
cy.get(commonSelectors.dashboardAppCreateButton).should(
|
|
canCreate ? "be.enabled" : "be.disabled"
|
|
);
|
|
cy.get(commonSelectors.createNewFolderButton).should(
|
|
canCreate ? "exist" : "not.exist"
|
|
);
|
|
cy.get('[data-cy="database-icon"]').should(canCreate ? "exist" : "not.exist");
|
|
|
|
cy.ifEnv("Enterprise", () => {
|
|
cy.get(commonSelectors.globalDataSourceIcon).should(
|
|
canCreate ? "exist" : "not.exist"
|
|
);
|
|
cy.get(commonSelectors.workspaceConstantsIcon).should(
|
|
canCreate ? "exist" : "not.exist"
|
|
);
|
|
});
|
|
};
|
|
|
|
export const verifySettingsAccess = (shouldExist = true) => {
|
|
cy.get(commonSelectors.settingsIcon).click();
|
|
cy.get(commonSelectors.workspaceSettings).should(
|
|
shouldExist ? "exist" : "not.exist"
|
|
);
|
|
};
|