|
- 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/xhiveframework.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/xhiveframework.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/xhiveframework.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/xhiveframework.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/xhiveframework.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("Hide/Unhide Workspaces", () => {
- // hide
- cy.intercept({
- method: "POST",
- url: "api/method/xhiveframework.desk.doctype.workspace.workspace.hide_page",
- }).as("hide_page");
-
- 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="Hide Workspace"]')
- .click({ force: true });
- cy.wait(300);
- cy.get('.standard-actions .btn-secondary[data-label="Discard"]').click();
- cy.get('.sidebar-item-container[item-name="Duplicate Page"]').should("not.be.visible");
-
- cy.wait("@hide_page");
-
- // unhide
- cy.intercept({
- method: "POST",
- url: "api/method/xhiveframework.desk.doctype.workspace.workspace.unhide_page",
- }).as("unhide_page");
-
- 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('[title="Unhide Workspace"]')
- .click({ force: true });
- cy.wait(300);
-
- cy.get('.standard-actions .btn-secondary[data-label="Discard"]').click();
- cy.get('.sidebar-item-container[item-name="Duplicate Page"]').should("be.visible");
-
- cy.wait("@unhide_page");
- });
-
- it("Delete Duplicate Page", () => {
- cy.intercept({
- method: "POST",
- url: "api/method/xhiveframework.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");
- });
- });
|