2
0
mirror of https://github.com/frappe/frappe.git synced 2024-06-12 16:32:22 +00:00
frappe/cypress/integration/grid_keyboard_shortcut.js
2022-08-04 14:51:01 +05:30

48 lines
1.5 KiB
JavaScript

context("Grid Keyboard Shortcut", () => {
let total_count = 0;
before(() => {
cy.login();
});
beforeEach(() => {
cy.reload();
cy.visit("/app/contact/new-contact-1");
cy.get('.frappe-control[data-fieldname="email_ids"]').find(".grid-add-row").click();
});
it("Insert new row at the end", () => {
cy.add_new_row_in_grid(
"{ctrl}{shift}{downarrow}",
(cy, total_count) => {
cy.get('[data-name="new-contact-email-1"]').should(
"have.attr",
"data-idx",
`${total_count + 1}`
);
},
total_count
);
});
it("Insert new row at the top", () => {
cy.add_new_row_in_grid("{ctrl}{shift}{uparrow}", (cy) => {
cy.get('[data-name="new-contact-email-1"]').should("have.attr", "data-idx", "2");
});
});
it("Insert new row below", () => {
cy.add_new_row_in_grid("{ctrl}{downarrow}", (cy) => {
cy.get('[data-name="new-contact-email-1"]').should("have.attr", "data-idx", "1");
});
});
it("Insert new row above", () => {
cy.add_new_row_in_grid("{ctrl}{uparrow}", (cy) => {
cy.get('[data-name="new-contact-email-1"]').should("have.attr", "data-idx", "2");
});
});
});
Cypress.Commands.add("add_new_row_in_grid", (shortcut_keys, callbackFn, total_count) => {
cy.get('.frappe-control[data-fieldname="email_ids"]').as("table");
cy.get("@table").find('.grid-body [data-fieldname="email_id"]').first().click();
cy.get("@table").find('.grid-body [data-fieldname="email_id"]').first().type(shortcut_keys);
callbackFn(cy, total_count);
});