chore: Kanban and ToDo UI test helpers

- `create_admin_kanban` and `create_todo` UI test helpers
- `switch_to_user` Cypress command: logs out and logs in as specified user
- Used `remove_role` in permissions test
- Used `switch_to_user` command in test helper
This commit is contained in:
marination 2022-12-28 23:00:00 +05:30
parent d5c4af53d8
commit 49143922c5
3 changed files with 43 additions and 22 deletions

View file

@ -1,16 +1,7 @@
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.remove_role("frappe@example.com", "System Manager");
cy.visit("/app");
});
@ -44,14 +35,7 @@ context("Permissions API", () => {
});
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.add_role("frappe@example.com", "System Manager");
cy.call("logout");
});
});

View file

@ -371,6 +371,11 @@ Cypress.Commands.add("update_doc", (doctype, docname, args) => {
});
});
Cypress.Commands.add("switch_to_user", (user) => {
cy.call("logout");
cy.login(user);
});
Cypress.Commands.add("add_role", (user, role) => {
cy.window()
.its("frappe")
@ -391,8 +396,7 @@ Cypress.Commands.add("remove_role", (user, role) => {
const add_remove_role = (action, user, role, session_user) => {
if (session_user !== "Administrator") {
cy.call("logout");
cy.login("Administrator");
cy.switch_to_user("Administrator");
}
cy.call("frappe.tests.ui_test_helpers.add_remove_role", {
@ -402,8 +406,7 @@ const add_remove_role = (action, user, role, session_user) => {
});
if (session_user !== "Administrator") {
cy.call("logout");
cy.login(session_user);
cy.switch_to_user(session_user);
}
};

View file

@ -581,6 +581,40 @@ def create_kanban():
).insert()
@whitelist_for_tests
def create_todo(description):
frappe.get_doc({"doctype": "ToDo", "description": description}).insert()
@whitelist_for_tests
def create_admin_kanban():
if not frappe.db.exists("Kanban Board", "Admin Kanban"):
frappe.get_doc(
{
"doctype": "Kanban Board",
"name": "Admin Kanban",
"owner": "Administrator",
"kanban_board_name": "Admin Kanban",
"reference_doctype": "ToDo",
"field_name": "status",
"private": 0,
"show_labels": 0,
"columns": [
{
"column_name": "Open",
"status": "Active",
"indicator": "Gray",
},
{
"column_name": "Closed",
"status": "Active",
"indicator": "Gray",
},
],
}
).insert()
@whitelist_for_tests
def add_remove_role(action, user, role):
user_doc = frappe.get_doc("User", user)