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

68 lines
2.0 KiB

  1. context("List View", () => {
  2. before(() => {
  3. cy.login();
  4. cy.visit("/app/website");
  5. return cy
  6. .window()
  7. .its("frappe")
  8. .then((frappe) => {
  9. return frappe.xcall("frappe.tests.ui_test_helpers.setup_workflow");
  10. });
  11. });
  12. it("Keep checkbox checked after Refresh", () => {
  13. cy.go_to_list("ToDo");
  14. cy.clear_filters();
  15. cy.get(".list-row-container .list-row-checkbox").click({ multiple: true, force: true });
  16. cy.get(".actions-btn-group button").contains("Actions").should("be.visible");
  17. cy.intercept("/api/method/frappe.desk.reportview.get").as("list-refresh");
  18. cy.wait(3000); // wait before you hit another refresh
  19. cy.get('button[data-original-title="Refresh"]').click();
  20. cy.wait("@list-refresh");
  21. cy.get(".list-row-container .list-row-checkbox:checked").should("be.visible");
  22. });
  23. it('enables "Actions" button', () => {
  24. const actions = [
  25. "Approve",
  26. "Reject",
  27. "Edit",
  28. "Export",
  29. "Assign To",
  30. "Apply Assignment Rule",
  31. "Add Tags",
  32. "Print",
  33. "Delete",
  34. ];
  35. cy.go_to_list("ToDo");
  36. cy.clear_filters();
  37. cy.get('.list-row-container:contains("Pending") .list-row-checkbox').click({
  38. multiple: true,
  39. force: true,
  40. });
  41. cy.get(".actions-btn-group button").contains("Actions").should("be.visible").click();
  42. cy.get(".dropdown-menu li:visible .dropdown-item")
  43. .should("have.length", 9)
  44. .each((el, index) => {
  45. cy.wrap(el).contains(actions[index]);
  46. })
  47. .then((elements) => {
  48. cy.intercept({
  49. method: "POST",
  50. url: "api/method/frappe.model.workflow.bulk_workflow_approval",
  51. }).as("bulk-approval");
  52. cy.intercept({
  53. method: "POST",
  54. url: "api/method/frappe.desk.reportview.get",
  55. }).as("real-time-update");
  56. cy.wrap(elements).contains("Approve").click();
  57. cy.wait(["@bulk-approval", "@real-time-update"]);
  58. cy.wait(300);
  59. cy.get_open_dialog().find(".btn-modal-close").click();
  60. cy.reload();
  61. cy.clear_filters();
  62. cy.get(".list-row-container:visible").should("contain", "Approved");
  63. });
  64. });
  65. });