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.
 
 
 
 
 
 

52 lines
2.1 KiB

  1. context('Table MultiSelect', () => {
  2. beforeEach(() => {
  3. cy.login();
  4. });
  5. let name = 'table multiselect' + Math.random().toString().slice(2, 8);
  6. it('select value from multiselect dropdown', () => {
  7. cy.new_form('Assignment Rule');
  8. cy.fill_field('__newname', name);
  9. cy.fill_field('document_type', 'Blog Post');
  10. cy.fill_field('assign_condition', 'status=="Open"', 'Code');
  11. cy.get('input[data-fieldname="users"]').focus().as('input');
  12. cy.get('input[data-fieldname="users"] + ul').should('be.visible');
  13. cy.get('@input').type('test{enter}', { delay: 100 });
  14. cy.get('.frappe-control[data-fieldname="users"] .form-control .tb-selected-value')
  15. .first().as('selected-value');
  16. cy.get('@selected-value').should('contain', 'test@erpnext.com');
  17. cy.server();
  18. cy.route('POST', '/api/method/frappe.desk.form.save.savedocs').as('save_form');
  19. // trigger save
  20. cy.get('.primary-action').click();
  21. cy.wait('@save_form').its('status').should('eq', 200);
  22. cy.get('@selected-value').should('contain', 'test@erpnext.com');
  23. });
  24. it('delete value using backspace', () => {
  25. cy.go_to_list('Assignment Rule');
  26. cy.get(`.list-subject:contains("table multiselect")`).last().find('a').click();
  27. cy.get('input[data-fieldname="users"]').focus().type('{backspace}');
  28. cy.get('.frappe-control[data-fieldname="users"] .form-control .tb-selected-value')
  29. .should('not.exist');
  30. });
  31. it('delete value using x', () => {
  32. cy.go_to_list('Assignment Rule');
  33. cy.get(`.list-subject:contains("table multiselect")`).last().find('a').click();
  34. cy.get('.frappe-control[data-fieldname="users"] .form-control .tb-selected-value').as('existing_value');
  35. cy.get('@existing_value').find('.btn-remove').click();
  36. cy.get('@existing_value').should('not.exist');
  37. });
  38. it('navigate to selected value', () => {
  39. cy.go_to_list('Assignment Rule');
  40. cy.get(`.list-subject:contains("table multiselect")`).last().find('a').click();
  41. cy.get('.frappe-control[data-fieldname="users"] .form-control .tb-selected-value').as('existing_value');
  42. cy.get('@existing_value').find('.btn-link-to-form').click();
  43. cy.location('hash').should('contain', 'Form/User/test@erpnext.com');
  44. });
  45. });