Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

pirms 1 gada
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. context("Workspace 2.0", () => {
  2. before(() => {
  3. cy.visit("/login");
  4. cy.login();
  5. });
  6. it("Navigate to page from sidebar", () => {
  7. cy.visit("/app/build");
  8. cy.get(".codex-editor__redactor .ce-block");
  9. cy.get('.sidebar-item-container[item-name="Website"]').first().click();
  10. cy.location("pathname").should("eq", "/app/website");
  11. });
  12. it("Create Private Page", () => {
  13. cy.intercept({
  14. method: "POST",
  15. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.new_page",
  16. }).as("new_page");
  17. cy.get(".codex-editor__redactor .ce-block");
  18. cy.get('.custom-actions button[data-label="Create%20Workspace"]').click();
  19. cy.fill_field("title", "Test Private Page", "Data");
  20. cy.get_open_dialog().find(".modal-header").click();
  21. cy.get_open_dialog().find(".btn-primary").click();
  22. // check if sidebar item is added in pubic section
  23. cy.get('.sidebar-item-container[item-name="Test Private Page"]').should(
  24. "have.attr",
  25. "item-public",
  26. "0"
  27. );
  28. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  29. cy.wait(300);
  30. cy.get('.sidebar-item-container[item-name="Test Private Page"]').should(
  31. "have.attr",
  32. "item-public",
  33. "0"
  34. );
  35. cy.wait("@new_page");
  36. });
  37. it("Create Child Page", () => {
  38. cy.intercept({
  39. method: "POST",
  40. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.new_page",
  41. }).as("new_page");
  42. cy.get(".codex-editor__redactor .ce-block");
  43. cy.get('.custom-actions button[data-label="Create%20Workspace"]').click();
  44. cy.fill_field("title", "Test Child Page", "Data");
  45. cy.fill_field("parent", "Test Private Page", "Select");
  46. cy.get_open_dialog().find(".modal-header").click();
  47. cy.get_open_dialog().find(".btn-primary").click();
  48. // check if sidebar item is added in pubic section
  49. cy.get('.sidebar-item-container[item-name="Test Child Page"]').should(
  50. "have.attr",
  51. "item-public",
  52. "0"
  53. );
  54. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  55. cy.wait(300);
  56. cy.get('.sidebar-item-container[item-name="Test Child Page"]').should(
  57. "have.attr",
  58. "item-public",
  59. "0"
  60. );
  61. cy.wait("@new_page");
  62. });
  63. it("Duplicate Page", () => {
  64. cy.intercept({
  65. method: "POST",
  66. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.duplicate_page",
  67. }).as("page_duplicated");
  68. cy.get(".codex-editor__redactor .ce-block");
  69. cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
  70. cy.get('.sidebar-item-container[item-name="Test Private Page"]').as("sidebar-item");
  71. cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
  72. cy.get("@sidebar-item").find(".dropdown-btn").first().click();
  73. cy.get("@sidebar-item")
  74. .find(".dropdown-list .dropdown-item")
  75. .contains("Duplicate")
  76. .first()
  77. .click({ force: true });
  78. cy.get_open_dialog().fill_field("title", "Duplicate Page", "Data");
  79. cy.click_modal_primary_button("Duplicate");
  80. cy.wait("@page_duplicated");
  81. });
  82. it("Drag Sidebar Item", () => {
  83. cy.intercept({
  84. method: "POST",
  85. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.sort_pages",
  86. }).as("page_sorted");
  87. cy.get('.sidebar-item-container[item-name="Duplicate Page"]').as("sidebar-item");
  88. cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
  89. cy.get("@sidebar-item").find(".drag-handle").first().move({ deltaX: 0, deltaY: 100 });
  90. cy.get('.sidebar-item-container[item-name="Build"]').as("sidebar-item");
  91. cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
  92. cy.get("@sidebar-item").find(".drag-handle").first().move({ deltaX: 0, deltaY: 100 });
  93. cy.wait("@page_sorted");
  94. });
  95. it("Edit Page Detail", () => {
  96. cy.intercept({
  97. method: "POST",
  98. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.update_page",
  99. }).as("page_updated");
  100. cy.get('.sidebar-item-container[item-name="Test Private Page"]').as("sidebar-item");
  101. cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
  102. cy.get("@sidebar-item").find(".dropdown-btn").first().click();
  103. cy.get("@sidebar-item")
  104. .find(".dropdown-list .dropdown-item")
  105. .contains("Edit")
  106. .first()
  107. .click({ force: true });
  108. cy.get_open_dialog().fill_field("title", " 1", "Data");
  109. cy.get_open_dialog().find('input[data-fieldname="is_public"]').check();
  110. cy.click_modal_primary_button("Update");
  111. cy.get(
  112. '.standard-sidebar-section:first .sidebar-item-container[item-name="Test Private Page"]'
  113. ).should("not.exist");
  114. cy.get(
  115. '.standard-sidebar-section:last .sidebar-item-container[item-name="Test Private Page 1"]'
  116. ).should("exist");
  117. cy.wait("@page_updated");
  118. });
  119. it("Add New Block", () => {
  120. cy.get('.sidebar-item-container[item-name="Duplicate Page"]').as("sidebar-item");
  121. cy.get("@sidebar-item").find(".standard-sidebar-item").first().click();
  122. cy.get(".ce-block").click().type("{enter}");
  123. cy.get(".block-list-container .block-list-item").contains("Heading").click();
  124. cy.get(":focus").type("Header");
  125. cy.get(".ce-block:last").find(".ce-header").should("exist");
  126. cy.get(".ce-block:last").click().type("{enter}");
  127. cy.get(".block-list-container .block-list-item").contains("Text").click();
  128. cy.get(":focus").type("Paragraph text");
  129. cy.get(".ce-block:last").find(".ce-paragraph").should("exist");
  130. });
  131. it("Delete A Block", () => {
  132. cy.get(":focus").click();
  133. cy.get(".paragraph-control .setting-btn").click();
  134. cy.get(".paragraph-control .dropdown-item").contains("Delete").click();
  135. cy.get(".ce-block:last").find(".ce-paragraph").should("not.exist");
  136. });
  137. it("Shrink and Expand A Block", () => {
  138. cy.get(":focus").click();
  139. cy.get(".ce-block:last .setting-btn").click();
  140. cy.get(".ce-block:last .dropdown-item").contains("Shrink").click();
  141. cy.get(".ce-block:last").should("have.class", "col-xs-11");
  142. cy.get(".ce-block:last .dropdown-item").contains("Shrink").click();
  143. cy.get(".ce-block:last").should("have.class", "col-xs-10");
  144. cy.get(".ce-block:last .dropdown-item").contains("Shrink").click();
  145. cy.get(".ce-block:last").should("have.class", "col-xs-9");
  146. cy.get(".ce-block:last .dropdown-item").contains("Expand").click();
  147. cy.get(".ce-block:last").should("have.class", "col-xs-10");
  148. cy.get(".ce-block:last .dropdown-item").contains("Expand").click();
  149. cy.get(".ce-block:last").should("have.class", "col-xs-11");
  150. cy.get(".ce-block:last .dropdown-item").contains("Expand").click();
  151. cy.get(".ce-block:last").should("have.class", "col-xs-12");
  152. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  153. });
  154. it("Hide/Unhide Workspaces", () => {
  155. // hide
  156. cy.intercept({
  157. method: "POST",
  158. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.hide_page",
  159. }).as("hide_page");
  160. cy.get(".codex-editor__redactor .ce-block");
  161. cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
  162. cy.get('.sidebar-item-container[item-name="Duplicate Page"]')
  163. .find(".sidebar-item-control .setting-btn")
  164. .click();
  165. cy.get('.sidebar-item-container[item-name="Duplicate Page"]')
  166. .find('.dropdown-item[title="Hide Workspace"]')
  167. .click({ force: true });
  168. cy.wait(300);
  169. cy.get('.standard-actions .btn-secondary[data-label="Discard"]').click();
  170. cy.get('.sidebar-item-container[item-name="Duplicate Page"]').should("not.be.visible");
  171. cy.wait("@hide_page");
  172. // unhide
  173. cy.intercept({
  174. method: "POST",
  175. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.unhide_page",
  176. }).as("unhide_page");
  177. cy.get(".codex-editor__redactor .ce-block");
  178. cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
  179. cy.get('.sidebar-item-container[item-name="Duplicate Page"]')
  180. .find('[title="Unhide Workspace"]')
  181. .click({ force: true });
  182. cy.wait(300);
  183. cy.get('.standard-actions .btn-secondary[data-label="Discard"]').click();
  184. cy.get('.sidebar-item-container[item-name="Duplicate Page"]').should("be.visible");
  185. cy.wait("@unhide_page");
  186. });
  187. it("Delete Duplicate Page", () => {
  188. cy.intercept({
  189. method: "POST",
  190. url: "api/method/xhiveframework.desk.doctype.workspace.workspace.delete_page",
  191. }).as("page_deleted");
  192. cy.get(".codex-editor__redactor .ce-block");
  193. cy.get(".standard-actions .btn-secondary[data-label=Edit]").click();
  194. cy.get('.sidebar-item-container[item-name="Duplicate Page"]')
  195. .find(".sidebar-item-control .setting-btn")
  196. .click();
  197. cy.get('.sidebar-item-container[item-name="Duplicate Page"]')
  198. .find('.dropdown-item[title="Delete Workspace"]')
  199. .click({ force: true });
  200. cy.wait(300);
  201. cy.get(".modal-footer > .standard-actions > .btn-modal-primary:visible").first().click();
  202. cy.get('.sidebar-item-container[item-name="Duplicate Page"]').should("not.exist");
  203. cy.wait("@page_deleted");
  204. });
  205. });