mirror of
https://github.com/frappe/frappe.git
synced 2024-06-13 05:02:21 +00:00
215 lines
7.2 KiB
JavaScript
215 lines
7.2 KiB
JavaScript
context("Workspace 2.0", () => {
|
|
before(() => {
|
|
cy.visit("/login");
|
|
cy.login();
|
|
});
|
|
|
|
it("Navigate to page from sidebar", () => {
|
|
cy.visit("/app/build");
|
|
cy.get(".codex-editor__redactor .ce-block");
|
|
cy.get('.sidebar-item-container[item-name="Settings"]').first().click();
|
|
cy.location("pathname").should("eq", "/app/settings");
|
|
});
|
|
|
|
it("Create Private Page", () => {
|
|
cy.intercept({
|
|
method: "POST",
|
|
url: "api/method/frappe.desk.doctype.workspace.workspace.new_page",
|
|
}).as("new_page");
|
|
|
|
cy.get(".codex-editor__redactor .ce-block");
|
|
cy.get('.custom-actions button[data-label="Create%20Workspace"]').click();
|
|
cy.fill_field("title", "Test Private Page", "Data");
|
|
cy.fill_field("icon", "edit", "Icon");
|
|
cy.get_open_dialog().find(".modal-header").click();
|
|
cy.get_open_dialog().find(".btn-primary").click();
|
|
|
|
// check if sidebar item is added in pubic section
|
|
cy.get('.sidebar-item-container[item-name="Test Private Page"]').should(
|
|
"have.attr",
|
|
"item-public",
|
|
"0"
|
|
);
|
|
|
|
cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
|
|
cy.wait(300);
|
|
cy.get('.sidebar-item-container[item-name="Test Private Page"]').should(
|
|
"have.attr",
|
|
"item-public",
|
|
"0"
|
|
);
|
|
|
|
cy.wait("@new_page");
|
|
});
|
|
|
|
it("Create Child Page", () => {
|
|
cy.intercept({
|
|
method: "POST",
|
|
url: "api/method/frappe.desk.doctype.workspace.workspace.new_page",
|
|
}).as("new_page");
|
|
|
|
cy.get(".codex-editor__redactor .ce-block");
|
|
cy.get('.custom-actions button[data-label="Create%20Workspace"]').click();
|
|
cy.fill_field("title", "Test Child Page", "Data");
|
|
cy.fill_field("parent", "Test Private Page", "Select");
|
|
cy.fill_field("icon", "edit", "Icon");
|
|
cy.get_open_dialog().find(".modal-header").click();
|
|
cy.get_open_dialog().find(".btn-primary").click();
|
|
|
|
// check if sidebar item is added in pubic section
|
|
cy.get('.sidebar-item-container[item-name="Test Child Page"]').should(
|
|
"have.attr",
|
|
"item-public",
|
|
"0"
|
|
);
|
|
|
|
cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
|
|
cy.wait(300);
|
|
cy.get('.sidebar-item-container[item-name="Test Child Page"]').should(
|
|
"have.attr",
|
|
"item-public",
|
|
"0"
|
|
);
|
|
|
|
cy.wait("@new_page");
|
|
});
|
|
|
|
it("Duplicate Page", () => {
|
|
cy.intercept({
|
|
method: "POST",
|
|
url: "api/method/frappe.desk.doctype.workspace.workspace.duplicate_page",
|
|
}).as("page_duplicated");
|
|
|
|
cy.get(".codex-editor__redactor .ce-block");
|
|
cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
|
|
|
|
cy.get('.sidebar-item-container[item-name="Test Private Page"]').as("sidebar-item");
|
|
|
|
cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
|
|
cy.get("@sidebar-item").find(".dropdown-btn").first().click();
|
|
cy.get("@sidebar-item")
|
|
.find(".dropdown-list .dropdown-item")
|
|
.contains("Duplicate")
|
|
.first()
|
|
.click({ force: true });
|
|
|
|
cy.get_open_dialog().fill_field("title", "Duplicate Page", "Data");
|
|
cy.click_modal_primary_button("Duplicate");
|
|
|
|
cy.wait("@page_duplicated");
|
|
});
|
|
|
|
it("Drag Sidebar Item", () => {
|
|
cy.intercept({
|
|
method: "POST",
|
|
url: "api/method/frappe.desk.doctype.workspace.workspace.sort_pages",
|
|
}).as("page_sorted");
|
|
|
|
cy.get('.sidebar-item-container[item-name="Duplicate Page"]').as("sidebar-item");
|
|
|
|
cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
|
|
cy.get("@sidebar-item").find(".drag-handle").first().move({ deltaX: 0, deltaY: 100 });
|
|
|
|
cy.get('.sidebar-item-container[item-name="Build"]').as("sidebar-item");
|
|
|
|
cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
|
|
cy.get("@sidebar-item").find(".drag-handle").first().move({ deltaX: 0, deltaY: 100 });
|
|
|
|
cy.wait("@page_sorted");
|
|
});
|
|
|
|
it("Edit Page Detail", () => {
|
|
cy.intercept({
|
|
method: "POST",
|
|
url: "api/method/frappe.desk.doctype.workspace.workspace.update_page",
|
|
}).as("page_updated");
|
|
|
|
cy.get('.sidebar-item-container[item-name="Test Private Page"]').as("sidebar-item");
|
|
|
|
cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
|
|
cy.get("@sidebar-item").find(".dropdown-btn").first().click();
|
|
cy.get("@sidebar-item")
|
|
.find(".dropdown-list .dropdown-item")
|
|
.contains("Edit")
|
|
.first()
|
|
.click({ force: true });
|
|
|
|
cy.get_open_dialog().fill_field("title", " 1", "Data");
|
|
cy.get_open_dialog().find('input[data-fieldname="is_public"]').check();
|
|
cy.click_modal_primary_button("Update");
|
|
|
|
cy.get(
|
|
'.standard-sidebar-section:first .sidebar-item-container[item-name="Test Private Page"]'
|
|
).should("not.exist");
|
|
cy.get(
|
|
'.standard-sidebar-section:last .sidebar-item-container[item-name="Test Private Page 1"]'
|
|
).should("exist");
|
|
|
|
cy.wait("@page_updated");
|
|
});
|
|
|
|
it("Add New Block", () => {
|
|
cy.get('.sidebar-item-container[item-name="Duplicate Page"]').as("sidebar-item");
|
|
|
|
cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
|
|
|
|
cy.get(".ce-block").click().type("{enter}");
|
|
cy.get(".block-list-container .block-list-item").contains("Heading").click();
|
|
cy.get(":focus").type("Header");
|
|
cy.get(".ce-block:last").find(".ce-header").should("exist");
|
|
|
|
cy.get(".ce-block:last").click().type("{enter}");
|
|
cy.get(".block-list-container .block-list-item").contains("Text").click();
|
|
cy.get(":focus").type("Paragraph text");
|
|
cy.get(".ce-block:last").find(".ce-paragraph").should("exist");
|
|
});
|
|
|
|
it("Delete A Block", () => {
|
|
cy.get(":focus").click();
|
|
cy.get(".paragraph-control .setting-btn").click();
|
|
cy.get(".paragraph-control .dropdown-item").contains("Delete").click();
|
|
cy.get(".ce-block:last").find(".ce-paragraph").should("not.exist");
|
|
});
|
|
|
|
it("Shrink and Expand A Block", () => {
|
|
cy.get(":focus").click();
|
|
cy.get(".ce-block:last .setting-btn").click();
|
|
cy.get(".ce-block:last .dropdown-item").contains("Shrink").click();
|
|
cy.get(".ce-block:last").should("have.class", "col-xs-11");
|
|
cy.get(".ce-block:last .dropdown-item").contains("Shrink").click();
|
|
cy.get(".ce-block:last").should("have.class", "col-xs-10");
|
|
cy.get(".ce-block:last .dropdown-item").contains("Shrink").click();
|
|
cy.get(".ce-block:last").should("have.class", "col-xs-9");
|
|
cy.get(".ce-block:last .dropdown-item").contains("Expand").click();
|
|
cy.get(".ce-block:last").should("have.class", "col-xs-10");
|
|
cy.get(".ce-block:last .dropdown-item").contains("Expand").click();
|
|
cy.get(".ce-block:last").should("have.class", "col-xs-11");
|
|
cy.get(".ce-block:last .dropdown-item").contains("Expand").click();
|
|
cy.get(".ce-block:last").should("have.class", "col-xs-12");
|
|
|
|
cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
|
|
});
|
|
|
|
it("Delete Duplicate Page", () => {
|
|
cy.intercept({
|
|
method: "POST",
|
|
url: "api/method/frappe.desk.doctype.workspace.workspace.delete_page",
|
|
}).as("page_deleted");
|
|
|
|
cy.get(".codex-editor__redactor .ce-block");
|
|
cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
|
|
|
|
cy.get('.sidebar-item-container[item-name="Duplicate Page"]')
|
|
.find(".sidebar-item-control .setting-btn")
|
|
.click();
|
|
cy.get('.sidebar-item-container[item-name="Duplicate Page"]')
|
|
.find('.dropdown-item[title="Delete Workspace"]')
|
|
.click({ force: true });
|
|
cy.wait(300);
|
|
cy.get(".modal-footer > .standard-actions > .btn-modal-primary:visible").first().click();
|
|
cy.get('.sidebar-item-container[item-name="Duplicate Page"]').should("not.exist");
|
|
|
|
cy.wait("@page_deleted");
|
|
});
|
|
});
|