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.

grid_keyboard_shortcut.js 1.4 KiB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. context('Grid Keyboard Shortcut', () => {
  2. let total_count = 0;
  3. before(() => {
  4. cy.login();
  5. });
  6. beforeEach(() => {
  7. cy.reload();
  8. cy.visit('/app/contact/new-contact-1');
  9. cy.get('.frappe-control[data-fieldname="email_ids"]').find(".grid-add-row").click();
  10. });
  11. it('Insert new row at the end', () => {
  12. cy.add_new_row_in_grid('{ctrl}{shift}{downarrow}', (cy, total_count) => {
  13. cy.get('[data-name="new-contact-email-1"]').should('have.attr', 'data-idx', `${total_count+1}`);
  14. }, total_count);
  15. });
  16. it('Insert new row at the top', () => {
  17. cy.add_new_row_in_grid('{ctrl}{shift}{uparrow}', (cy) => {
  18. cy.get('[data-name="new-contact-email-1"]').should('have.attr', 'data-idx', '2');
  19. });
  20. });
  21. it('Insert new row below', () => {
  22. cy.add_new_row_in_grid('{ctrl}{downarrow}', (cy) => {
  23. cy.get('[data-name="new-contact-email-1"]').should('have.attr', 'data-idx', '1');
  24. });
  25. });
  26. it('Insert new row above', () => {
  27. cy.add_new_row_in_grid('{ctrl}{uparrow}', (cy) => {
  28. cy.get('[data-name="new-contact-email-1"]').should('have.attr', 'data-idx', '2');
  29. });
  30. });
  31. });
  32. Cypress.Commands.add('add_new_row_in_grid', (shortcut_keys, callbackFn, total_count) => {
  33. cy.get('.frappe-control[data-fieldname="email_ids"]').as('table');
  34. cy.get('@table').find('.grid-body [data-fieldname="email_id"]').first().click();
  35. cy.get('@table').find('.grid-body [data-fieldname="email_id"]')
  36. .first().type(shortcut_keys);
  37. callbackFn(cy, total_count);
  38. });