ToolJet/cypress-tests/cypress/e2e/workspace/userPermissions.cy.js
Ajith KV 4ee2744331
Modified platfrom cypress test cases (#8709)
* Modify platfrom cypress test cases

* Modify manage groups test case
2024-02-06 16:16:06 +05:30

217 lines
7.2 KiB
JavaScript

import { commonSelectors } from "Selectors/common";
import { fake } from "Fixtures/fake";
import { usersText } from "Texts/manageUsers";
import * as common from "Support/utils/common";
import { dashboardText, emptyDashboardText } from "Texts/dashboard";
import { groupsSelector } from "Selectors/manageGroups";
import * as permissions from "Support/utils/userPermissions";
import { commonText } from "Texts/common";
import { workspaceVarSelectors } from "Selectors/workspaceVariable";
import { workspaceVarText } from "Texts/workspacevarText";
const data = {};
describe("User permissions", () => {
beforeEach(() => {
cy.defaultWorkspaceLogin();
cy.removeAssignedApps();
permissions.reset();
cy.skipWalkthrough();
});
it("Should verify the Create and Delete app permission", () => {
data.appName = `${fake.companyName}-App`;
cy.logoutApi();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.get(commonSelectors.dashboardAppCreateButton).should("be.disabled");
cy.logoutApi();
cy.apiLogin();
cy.apiCreateApp(data.appName);
cy.visit("/my-workspace");
cy.wait(500);
common.navigateToManageGroups();
cy.get(groupsSelector.appsLink).click();
cy.get(groupsSelector.appSearchBox).click();
cy.get(groupsSelector.searchBoxOptions).contains(data.appName).click();
cy.get(groupsSelector.selectAddButton).click();
cy.get("table").contains("td", data.appName);
cy.contains("td", data.appName)
.parent()
.within(() => {
cy.get("td input").first().should("be.checked");
});
cy.wait(1000);
cy.get(groupsSelector.permissionsLink).click();
cy.get(groupsSelector.appsCreateCheck).check();
cy.get(groupsSelector.permissionsLink).click();
cy.get(groupsSelector.appsDeleteCheck).check();
cy.logoutApi();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.get(commonSelectors.appCreateButton).should("exist");
common.viewAppCardOptions(data.appName);
cy.contains("Delete app").should("exist");
common.logout();
cy.defaultWorkspaceLogin();
common.navigateToManageGroups();
cy.get(groupsSelector.permissionsLink).click();
cy.get(groupsSelector.appsDeleteCheck).uncheck();
cy.logoutApi();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.wait(1000);
common.viewAppCardOptions(data.appName);
cy.contains("Delete app").should("not.exist");
data.appName = `${fake.companyName}-App`;
cy.createApp(data.appName);
cy.dragAndDropWidget("Table", 50, 50);
cy.backToApps();
common.viewAppCardOptions(data.appName);
cy.contains("Delete app").should("exist");
cy.get(commonSelectors.appCardOptions(commonText.deleteAppOption)).click();
cy.get(commonSelectors.buttonSelector("Yes")).click();
common.logout();
cy.defaultWorkspaceLogin();
common.navigateToManageGroups();
cy.get(groupsSelector.permissionsLink).click();
cy.get(groupsSelector.appsCreateCheck).uncheck();
cy.logoutApi();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.wait(1000);
cy.contains("Create new application").should("not.exist");
});
it("Should verify the View and Edit permission", () => {
data.appName = `${fake.companyName}-App`;
cy.apiCreateApp(data.appName);
cy.reload();
common.navigateToManageGroups();
cy.wait(1000);
cy.get(groupsSelector.appsLink).click();
cy.get(groupsSelector.appSearchBox).click();
cy.get(groupsSelector.searchBoxOptions).contains(data.appName).click();
cy.get(groupsSelector.selectAddButton).click();
cy.get("table").contains("td", data.appName);
cy.contains("td", data.appName)
.parent()
.within(() => {
cy.get("td input").first().should("be.checked");
});
cy.logoutApi();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.wait(500);
cy.contains(data.appName).should("exist");
cy.get(commonSelectors.appCard(data.appName)).should(
"contain.text",
data.appName
);
cy.contains("div", data.appName)
.parent()
.within(() => {
cy.get(commonSelectors.appTitle(data.appName)).trigger("mouseover");
cy.get(commonSelectors.launchButton).should(
"have.class",
"tj-disabled-btn"
);
});
common.logout();
cy.defaultWorkspaceLogin();
common.navigateToManageGroups();
cy.get(groupsSelector.appsLink).click();
cy.wait(500);
cy.contains("tr", data.appName)
.parent()
.within(() => {
cy.get("td input").eq(1).check();
});
cy.verifyToastMessage(
commonSelectors.toastMessage,
"App permissions updated"
);
cy.logoutApi();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.wait(500);
cy.get(commonSelectors.appCard(data.appName)).should(
"contain.text",
data.appName
);
cy.contains("div", data.appName)
.parent()
.within(() => {
cy.get(commonSelectors.appTitle(data.appName)).trigger("mouseover");
});
cy.get(commonSelectors.launchButton).should(
"have.class",
"tj-disabled-btn"
);
cy.get(commonSelectors.editButton).should("exist").and("be.enabled");
});
it("Should verify Create/Update/Delete folder permission", () => {
data.folderName = `${fake.companyName.toLowerCase()}-folder`;
common.navigateToManageGroups();
cy.get(groupsSelector.permissionsLink).click();
cy.get(groupsSelector.foldersCreateCheck).check();
cy.logoutApi();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.wait(500);
cy.get(commonSelectors.createNewFolderButton).click();
cy.clearAndType(commonSelectors.folderNameInput, data.folderName);
cy.get(commonSelectors.createFolderButton).click();
cy.contains(data.folderName).should("exist");
cy.contains("div", data.folderName)
.parent()
.within(() => {
cy.get(commonSelectors.folderCardOptions(data.folderName)).invoke(
"click"
);
});
cy.get(commonSelectors.deleteFolderOption(data.folderName)).click();
cy.get(commonSelectors.buttonSelector("Yes")).click();
common.logout();
cy.defaultWorkspaceLogin();
common.navigateToManageGroups();
cy.get(groupsSelector.permissionsLink).click();
cy.get(groupsSelector.foldersCreateCheck).uncheck();
common.logout();
cy.apiLogin("[email protected]", usersText.password);
cy.visit("/my-workspace");
cy.get(commonSelectors.createNewFolderButton).should("not.exist");
});
it("Should verify Create/Update/Delete workspace variable permission", () => {
common.navigateToWorkspaceVariable();
cy.get('[data-cy="alert-info-text"]>>.text-muted').verifyVisibleElement(
"have.text",
"There are no Workspace variables. Workspace variables are being deprecated soon, so please use Workspace constants instead."
);
cy.get(
'[data-cy="go-to-workspace-constants-option-button"]'
).verifyVisibleElement("have.text", "Go to workspace constants");
cy.logoutApi();
});
});