- Test removes System Manager role for user and expects certain perms - On Kanban Board DocType, only System Manager is allowed to print/export/email/report/share - DocType level test only
57 lines
1.6 KiB
JavaScript
57 lines
1.6 KiB
JavaScript
context("Permissions API", () => {
|
|
before(() => {
|
|
cy.visit("/login");
|
|
|
|
cy.login("Administrator");
|
|
cy.call("frappe.tests.ui_test_helpers.add_remove_role", {
|
|
action: "remove",
|
|
user: "frappe@example.com",
|
|
role: "System Manager",
|
|
});
|
|
cy.call("logout");
|
|
|
|
cy.login("frappe@example.com");
|
|
cy.visit("/app");
|
|
});
|
|
|
|
it("Checks permissions via `has_perm` for Kanban Board DocType", () => {
|
|
cy.visit("/app/kanban-board/view/list");
|
|
cy.window()
|
|
.its("frappe")
|
|
.then((frappe) => {
|
|
frappe.model.with_doctype("Kanban Board", function () {
|
|
// needed to make sure doc meta is loaded
|
|
expect(frappe.perm.has_perm("Kanban Board", 0, "read")).to.equal(true);
|
|
expect(frappe.perm.has_perm("Kanban Board", 0, "write")).to.equal(true);
|
|
expect(frappe.perm.has_perm("Kanban Board", 0, "print")).to.equal(false);
|
|
});
|
|
});
|
|
});
|
|
|
|
it("Checks permissions via `get_perm` for Kanban Board DocType", () => {
|
|
cy.visit("/app/kanban-board/view/list");
|
|
cy.window()
|
|
.its("frappe")
|
|
.then((frappe) => {
|
|
frappe.model.with_doctype("Kanban Board", function () {
|
|
// needed to make sure doc meta is loaded
|
|
const perms = frappe.perm.get_perm("Kanban Board");
|
|
expect(perms.read).to.equal(true);
|
|
expect(perms.write).to.equal(true);
|
|
expect(perms.rights_without_if_owner).to.include("read");
|
|
});
|
|
});
|
|
});
|
|
|
|
after(() => {
|
|
cy.call("logout");
|
|
|
|
cy.login("Administrator");
|
|
cy.call("frappe.tests.ui_test_helpers.add_remove_role", {
|
|
action: "add",
|
|
user: "frappe@example.com",
|
|
role: "System Manager",
|
|
});
|
|
cy.call("logout");
|
|
});
|
|
});
|