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

list_view.js 1.8 KiB

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