25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

186 lines
5.7 KiB

  1. context("Workspace Blocks", () => {
  2. before(() => {
  3. cy.login();
  4. cy.visit("/app");
  5. return cy
  6. .window()
  7. .its("xhiveframework")
  8. .then((xhiveframework) => {
  9. return xhiveframework.xcall("xhiveframework.tests.ui_test_helpers.setup_workflow");
  10. });
  11. });
  12. it("Create Test Page", () => {
  13. cy.intercept({
  14. method: "POST",
  15. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.new_page",
  16. }).as("new_page");
  17. cy.visit("/app/website");
  18. cy.get(".codex-editor__redactor .ce-block");
  19. cy.get('.custom-actions button[data-label="Create%20Workspace"]').click();
  20. cy.fill_field("title", "Test Block Page", "Data");
  21. cy.get_open_dialog().find(".modal-header").click();
  22. cy.get_open_dialog().find(".btn-primary").click();
  23. // check if sidebar item is added in private section
  24. cy.get('.sidebar-item-container[item-name="Test Block Page"]').should(
  25. "have.attr",
  26. "item-public",
  27. "0"
  28. );
  29. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  30. cy.wait(300);
  31. cy.get('.sidebar-item-container[item-name="Test Block Page"]').should(
  32. "have.attr",
  33. "item-public",
  34. "0"
  35. );
  36. cy.wait("@new_page");
  37. });
  38. it.skip("Quick List Block", () => {
  39. cy.create_records([
  40. {
  41. doctype: "ToDo",
  42. description: "Quick List ToDo 1",
  43. status: "Open",
  44. },
  45. {
  46. doctype: "ToDo",
  47. description: "Quick List ToDo 2",
  48. status: "Open",
  49. },
  50. {
  51. doctype: "ToDo",
  52. description: "Quick List ToDo 3",
  53. status: "Open",
  54. },
  55. {
  56. doctype: "ToDo",
  57. description: "Quick List ToDo 4",
  58. status: "Open",
  59. },
  60. ]);
  61. cy.intercept({
  62. method: "GET",
  63. url: "api/method/xhiveframework.desk.form.load.getdoctype?**",
  64. }).as("get_doctype");
  65. cy.get(".codex-editor__redactor .ce-block");
  66. cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
  67. // test quick list creation
  68. cy.get(".ce-block").first().click({ force: true }).type("{enter}");
  69. cy.get(".block-list-container .block-list-item").contains("Quick List").click();
  70. cy.fill_field("label", "ToDo", "Data");
  71. cy.fill_field("document_type", "ToDo", "Link").blur();
  72. cy.wait("@get_doctype");
  73. cy.get_open_dialog().find(".filter-edit-area").should("contain", "No filters selected");
  74. cy.get_open_dialog().find(".filter-area .add-filter").click();
  75. cy.get_open_dialog()
  76. .find(".fieldname-select-area input")
  77. .type("Workflow State{enter}")
  78. .blur();
  79. cy.get_open_dialog().find(".filter-field .input-with-feedback").type("Pending");
  80. cy.get_open_dialog().find(".modal-header").click();
  81. cy.get_open_dialog().find(".btn-primary").click();
  82. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  83. cy.get(".codex-editor__redactor .ce-block");
  84. cy.get(".ce-block .quick-list-widget-box").first().as("todo-quick-list");
  85. cy.get("@todo-quick-list").find(".quick-list-item .status").should("contain", "Pending");
  86. // test quick-list-item
  87. cy.get("@todo-quick-list")
  88. .find(".quick-list-item .title")
  89. .first()
  90. .invoke("attr", "title")
  91. .then((title) => {
  92. cy.get("@todo-quick-list").find(".quick-list-item").contains(title).click();
  93. cy.get_field("description", "Text Editor").should("contain", title);
  94. cy.click_action_button("Approve");
  95. });
  96. cy.go("back");
  97. // test filter-list
  98. cy.get("@todo-quick-list").realHover().find(".widget-control .filter-list").click();
  99. cy.get_open_dialog()
  100. .find(".filter-field .input-with-feedback")
  101. .focus()
  102. .type("{selectall}Approved");
  103. cy.get_open_dialog().find(".modal-header").click();
  104. cy.get_open_dialog().find(".btn-primary").click();
  105. cy.get("@todo-quick-list").find(".quick-list-item .status").should("contain", "Approved");
  106. // test refresh-list
  107. cy.intercept({
  108. method: "POST",
  109. url: "api/method/xhiveframework.desk.reportview.get",
  110. }).as("refresh-list");
  111. cy.get("@todo-quick-list").realHover().find(".widget-control .refresh-list").click();
  112. cy.wait("@refresh-list");
  113. // test add-new
  114. cy.get("@todo-quick-list").realHover().find(".widget-control .add-new").click();
  115. cy.url().should("include", `/todo/new-todo-1`);
  116. cy.go("back");
  117. // test see-all
  118. cy.get("@todo-quick-list").find(".widget-footer .see-all").click();
  119. cy.open_list_filter();
  120. cy.get('.filter-field input[data-fieldname="workflow_state"]')
  121. .invoke("val")
  122. .should("eq", "Pending");
  123. cy.go("back");
  124. });
  125. it("Number Card Block", () => {
  126. cy.create_records([
  127. {
  128. doctype: "Number Card",
  129. label: "Test Number Card",
  130. document_type: "ToDo",
  131. color: "#f74343",
  132. },
  133. ]);
  134. cy.get(".codex-editor__redactor .ce-block");
  135. cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
  136. cy.get(".ce-block").first().click({ force: true }).type("{enter}");
  137. cy.get(".block-list-container .block-list-item").contains("Number Card").click();
  138. // add number card
  139. cy.fill_field("number_card_name", "Test Number Card", "Link");
  140. cy.get('[data-fieldname="number_card_name"] ul li').contains("Test Number Card").click();
  141. cy.click_modal_primary_button("Add");
  142. cy.get(".ce-block .number-widget-box").first().as("number_card");
  143. cy.get("@number_card").find(".widget-title").should("contain", "Test Number Card");
  144. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  145. cy.get("@number_card").find(".widget-title").should("contain", "Test Number Card");
  146. // edit number card
  147. cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
  148. cy.get("@number_card").realHover().find(".widget-control .edit-button").click();
  149. cy.get_field("label", "Data").invoke("val", "ToDo Count");
  150. cy.click_modal_primary_button("Save");
  151. cy.get("@number_card").find(".widget-title").should("contain", "ToDo Count");
  152. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  153. cy.get("@number_card").find(".widget-title").should("contain", "ToDo Count");
  154. });
  155. });