You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

156 lines
4.3 KiB

  1. context('Workspace Blocks', () => {
  2. before(() => {
  3. cy.login();
  4. cy.visit('/app');
  5. });
  6. it('Create Test Page', () => {
  7. cy.intercept({
  8. method: 'POST',
  9. url: 'api/method/frappe.desk.doctype.workspace.workspace.new_page'
  10. }).as('new_page');
  11. cy.get('.codex-editor__redactor .ce-block');
  12. cy.get('.custom-actions button[data-label="Create%20Workspace"]').click();
  13. cy.fill_field('title', 'Test Block Page', 'Data');
  14. cy.fill_field('icon', 'edit', 'Icon');
  15. cy.get_open_dialog().find('.modal-header').click();
  16. cy.get_open_dialog().find('.btn-primary').click();
  17. // check if sidebar item is added in private section
  18. cy.get('.sidebar-item-container[item-name="Test Block Page"]').should('have.attr', 'item-public', '0');
  19. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  20. cy.wait(300);
  21. cy.get('.sidebar-item-container[item-name="Test Block Page"]').should('have.attr', 'item-public', '0');
  22. cy.wait('@new_page');
  23. });
  24. it('Quick List Block', () => {
  25. cy.create_records([
  26. {
  27. doctype: 'ToDo',
  28. description: 'Quick List ToDo 1',
  29. status: 'Open'
  30. },
  31. {
  32. doctype: 'ToDo',
  33. description: 'Quick List ToDo 2',
  34. status: 'Open'
  35. },
  36. {
  37. doctype: 'ToDo',
  38. description: 'Quick List ToDo 3',
  39. status: 'Open'
  40. },
  41. {
  42. doctype: 'ToDo',
  43. description: 'Quick List ToDo 4',
  44. status: 'Open'
  45. },
  46. {
  47. doctype: 'ToDo',
  48. description: 'Quick List ToDo 5',
  49. status: 'Closed'
  50. },
  51. {
  52. doctype: 'ToDo',
  53. description: 'Quick List ToDo 6',
  54. status: 'Closed'
  55. },
  56. {
  57. doctype: 'ToDo',
  58. description: 'Quick List ToDo 7',
  59. status: 'Closed'
  60. },
  61. {
  62. doctype: 'ToDo',
  63. description: 'Quick List ToDo 8',
  64. status: 'Closed'
  65. }
  66. ]);
  67. cy.intercept({
  68. method: 'GET',
  69. url: 'api/method/frappe.desk.form.load.getdoctype'
  70. }).as('get_doctype');
  71. cy.get('.codex-editor__redactor .ce-block');
  72. cy.get('.standard-actions .btn-secondary[data-label=Edit]').click();
  73. // test quick list creation
  74. cy.get('.ce-block').first().click({force: true}).type('{enter}');
  75. cy.get('.block-list-container .block-list-item').contains('Quick List').click();
  76. cy.get_open_dialog().find('.modal-header').click();
  77. cy.fill_field('document_type', 'ToDo', 'Link').blur();
  78. cy.fill_field('label', 'ToDo', 'Data').blur();
  79. cy.wait('@get_doctype');
  80. cy.get_open_dialog().find('.filter-edit-area').should('contain', 'No filters selected');
  81. cy.get_open_dialog().find('.filter-area .add-filter').click();
  82. cy.get_open_dialog().find('.fieldname-select-area input').type('Status{enter}').blur();
  83. cy.get_open_dialog().find('select.input-with-feedback').select('Open');
  84. cy.get_open_dialog().find('.modal-header').click();
  85. cy.get_open_dialog().find('.btn-primary').click();
  86. cy.get('.standard-actions .btn-primary[data-label="Save"]').click();
  87. cy.get('.codex-editor__redactor .ce-block');
  88. cy.get('.ce-block .quick-list-widget-box').first().as('todo-quick-list');
  89. cy.get('@todo-quick-list').find('.quick-list-item .status').should('contain', 'Open');
  90. // test filter-list
  91. cy.get('@todo-quick-list').realHover().find('.widget-control .filter-list').click();
  92. cy.get_open_dialog().find('select.input-with-feedback').select('Closed');
  93. cy.get_open_dialog().find('.modal-header').click();
  94. cy.get_open_dialog().find('.btn-primary').click();
  95. cy.get('@todo-quick-list').find('.quick-list-item .status').should('contain', 'Closed');
  96. // test refresh-list
  97. cy.intercept({
  98. method: 'POST',
  99. url: 'api/method/frappe.desk.reportview.get'
  100. }).as('refresh-list');
  101. cy.get('@todo-quick-list').realHover().find('.widget-control .refresh-list').click();
  102. cy.wait('@refresh-list');
  103. // test add-new
  104. cy.get('@todo-quick-list').realHover().find('.widget-control .add-new').click();
  105. cy.url().should('include', `/todo/new-todo-1`);
  106. cy.go('back');
  107. // test quick-list-item
  108. cy.get('@todo-quick-list').find('.quick-list-item .title')
  109. .first()
  110. .invoke('attr', 'title')
  111. .then(title => {
  112. cy.get('@todo-quick-list').find('.quick-list-item').contains(title).click();
  113. cy.get_field('description', 'Text Editor').should('contain', title);
  114. });
  115. cy.go('back');
  116. // test see-all
  117. cy.get('@todo-quick-list').find('.widget-footer .see-all').click();
  118. cy.get('.standard-filter-section select[data-fieldname="status"]')
  119. .invoke('val')
  120. .should('eq', 'Open');
  121. cy.go('back');
  122. });
  123. });