Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

55 рядки
1.7 KiB

  1. context("Grid Keyboard Shortcut", () => {
  2. let total_count = 0;
  3. let contact_email_name = null;
  4. before(() => {
  5. cy.login();
  6. });
  7. beforeEach(() => {
  8. cy.reload();
  9. cy.new_form("Contact");
  10. cy.get('.xhiveframework-control[data-fieldname="email_ids"]').find(".grid-add-row").click();
  11. // as new names uses hash instead of numbers get row's data-name dynamically.
  12. cy.get('.xhiveframework-control[data-fieldname="email_ids"]')
  13. .find(".grid-body .grid-row")
  14. .should(($row) => {
  15. contact_email_name = $row.attr("data-name");
  16. });
  17. });
  18. it("Insert new row at the end", () => {
  19. cy.add_new_row_in_grid(
  20. "{ctrl}{shift}{downarrow}",
  21. (cy, total_count) => {
  22. cy.get(`[data-name="${contact_email_name}"]`).should(
  23. "have.attr",
  24. "data-idx",
  25. `${total_count + 1}`
  26. );
  27. },
  28. total_count
  29. );
  30. });
  31. it("Insert new row at the top", () => {
  32. cy.add_new_row_in_grid("{ctrl}{shift}{uparrow}", (cy) => {
  33. cy.get(`[data-name="${contact_email_name}"]`).should("have.attr", "data-idx", "2");
  34. });
  35. });
  36. it("Insert new row below", () => {
  37. cy.add_new_row_in_grid("{ctrl}{downarrow}", (cy) => {
  38. cy.get(`[data-name^="${contact_email_name}"]`).should("have.attr", "data-idx", "1");
  39. });
  40. });
  41. it("Insert new row above", () => {
  42. cy.add_new_row_in_grid("{ctrl}{uparrow}", (cy) => {
  43. cy.get(`[data-name^="${contact_email_name}"]`).should("have.attr", "data-idx", "2");
  44. });
  45. });
  46. });
  47. Cypress.Commands.add("add_new_row_in_grid", (shortcut_keys, callbackFn, total_count) => {
  48. cy.get('.xhiveframework-control[data-fieldname="email_ids"]').as("table");
  49. cy.get("@table").find('.grid-body [data-fieldname="email_id"]').first().click();
  50. cy.get("@table").find('.grid-body [data-fieldname="email_id"]').first().type(shortcut_keys);
  51. callbackFn(cy, total_count);
  52. });