Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 
 
 

84 rader
3.0 KiB

  1. context('Kanban Board', () => {
  2. before(() => {
  3. cy.login();
  4. cy.visit('/app');
  5. });
  6. it('Create ToDo Kanban', () => {
  7. cy.visit('/app/todo');
  8. cy.get('.page-actions .custom-btn-group button').click();
  9. cy.get('.page-actions .custom-btn-group ul.dropdown-menu li').contains('Kanban').click();
  10. cy.fill_field('board_name', 'ToDo Kanban', 'Data');
  11. cy.fill_field('field_name', 'Status', 'Select');
  12. cy.click_modal_primary_button('Save');
  13. cy.get('.title-text').should('contain', 'ToDo Kanban');
  14. });
  15. it('Create ToDo from kanban', () => {
  16. cy.intercept({
  17. method: 'POST',
  18. url: 'api/method/frappe.client.save'
  19. }).as('save-todo');
  20. cy.click_listview_primary_button('Add ToDo');
  21. cy.fill_field('description', 'Test Kanban ToDo', 'Text Editor');
  22. cy.get('.modal-footer .btn-primary').last().click();
  23. cy.wait('@save-todo');
  24. });
  25. it('Add and Remove fields', () => {
  26. cy.visit('/app/todo/view/kanban/ToDo Kanban');
  27. cy.intercept('POST', '/api/method/frappe.desk.doctype.kanban_board.kanban_board.save_settings').as('save-kanban');
  28. cy.intercept('POST', '/api/method/frappe.desk.doctype.kanban_board.kanban_board.update_order').as('update-order');
  29. cy.get('.page-actions .menu-btn-group > .btn').click();
  30. cy.get('.page-actions .menu-btn-group .dropdown-menu li').contains('Kanban Settings').click();
  31. cy.get('.add-new-fields').click();
  32. cy.get('.checkbox-options .checkbox').contains('ID').click();
  33. cy.get('.checkbox-options .checkbox').contains('Status').first().click();
  34. cy.get('.checkbox-options .checkbox').contains('Priority').click();
  35. cy.get('.modal-footer .btn-primary').last().click();
  36. cy.get('.frappe-control .label-area').contains('Show Labels').click();
  37. cy.click_modal_primary_button('Save');
  38. cy.wait('@save-kanban');
  39. cy.get('.kanban-column[data-column-value="Open"] .kanban-cards').as('open-cards');
  40. cy.get('@open-cards').find('.kanban-card .kanban-card-doc').first().should('contain', 'ID:');
  41. cy.get('@open-cards').find('.kanban-card .kanban-card-doc').first().should('contain', 'Status:');
  42. cy.get('@open-cards').find('.kanban-card .kanban-card-doc').first().should('contain', 'Priority:');
  43. cy.get('.page-actions .menu-btn-group > .btn').click();
  44. cy.get('.page-actions .menu-btn-group .dropdown-menu li').contains('Kanban Settings').click();
  45. cy.get_open_dialog().find('.frappe-control[data-fieldname="fields_html"] div[data-label="ID"] .remove-field').click();
  46. cy.wait('@update-order');
  47. cy.get_open_dialog().find('.frappe-control .label-area').contains('Show Labels').click();
  48. cy.get('.modal-footer .btn-primary').last().click();
  49. cy.wait('@save-kanban');
  50. cy.get('@open-cards').find('.kanban-card .kanban-card-doc').first().should('not.contain', 'ID:');
  51. });
  52. it('Drag todo', () => {
  53. cy.intercept({
  54. method: 'POST',
  55. url: 'api/method/frappe.desk.doctype.kanban_board.kanban_board.update_order_for_single_card'
  56. }).as('drag-completed');
  57. cy.get('.kanban-card-body:first').drag('[data-column-value="Closed"] .kanban-cards', {force: true});
  58. cy.wait('@drag-completed');
  59. });
  60. });