From e0157610bcde415a4b85eb8c89b3d3739835bd64 Mon Sep 17 00:00:00 2001 From: Raju Udava <86527202+dstala@users.noreply.github.com> Date: Thu, 25 Aug 2022 10:56:16 +0530 Subject: [PATCH] test: CY virtual column fixes Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> --- .../integration/common/1e_meta_sync.js | 2 +- .../2a_table_with_belongs_to_colulmn.js | 31 ++++---- .../common/2b_table_with_m2m_column.js | 32 +++++--- .../3a_filter_sort_fields_operations.js | 73 ++++++++++++------- .../support/page_objects/mainPage.js | 10 ++- 5 files changed, 92 insertions(+), 56 deletions(-) diff --git a/scripts/cypress-v2/integration/common/1e_meta_sync.js b/scripts/cypress-v2/integration/common/1e_meta_sync.js index 67b2d32e4a..78dc2b3e1a 100644 --- a/scripts/cypress-v2/integration/common/1e_meta_sync.js +++ b/scripts/cypress-v2/integration/common/1e_meta_sync.js @@ -34,7 +34,7 @@ export const genTest = (apiType, dbType) => { }); after(() => { - mainPage.closeMetaTab(); + // mainPage.closeMetaTab(); }); it(`Create table`, () => { diff --git a/scripts/cypress-v2/integration/common/2a_table_with_belongs_to_colulmn.js b/scripts/cypress-v2/integration/common/2a_table_with_belongs_to_colulmn.js index 192280b869..021e95cf5d 100644 --- a/scripts/cypress-v2/integration/common/2a_table_with_belongs_to_colulmn.js +++ b/scripts/cypress-v2/integration/common/2a_table_with_belongs_to_colulmn.js @@ -8,6 +8,13 @@ export const genTest = (apiType, dbType) => { before(() => { cy.fileHook(); mainPage.tabReset(); + // + // // kludge: wait for page load to finish + // cy.wait(1000); + // // close team & auth tab + // cy.get('button.ant-tabs-tab-remove').should('exist').click(); + // cy.wait(1000); + cy.openTableTab("Country", 25); }); @@ -51,35 +58,34 @@ export const genTest = (apiType, dbType) => { cy.get('.nc-action-icon').eq(0).should('exist').click({ force: true }); }); - it.skip("Expand Link record, validate", () => { + it("Expand Link record, validate", () => { cy.getActiveModal() .find("button:contains(Link to 'City')") .click() .then(() => { - cy.snipActiveModal("Modal_BT_LinkRecord"); // Link record form validation cy.getActiveModal().contains("Link Record").should("exist"); cy.getActiveModal() - .find("button.mdi-reload") + .find(".nc-reload") .should("exist"); cy.getActiveModal() - .find('button:contains("New Record")') + .find('button:contains("Add new record")') .should("exist"); cy.getActiveModal() - .find(".child-card") + .find(".ant-card") .eq(0) .contains("A Corua (La Corua)") .should("exist"); cy.getActiveModal() - .find("button.mdi-close") - .click() - .then(() => { - cy.getActiveModal() - .find("button.mdi-close") - .click(); - }); + .find("button.ant-modal-close") + .click(); + // .then(() => { + // cy.getActiveModal() + // .find("button.ant-modal-close") + // .click(); + // }); }); }); @@ -97,7 +103,6 @@ export const genTest = (apiType, dbType) => { .find('.nc-virtual-cell > .chips-wrapper > .chips > .group > .name') .contains("Saudi Arabia") .should('exist'); - }) }); }; diff --git a/scripts/cypress-v2/integration/common/2b_table_with_m2m_column.js b/scripts/cypress-v2/integration/common/2b_table_with_m2m_column.js index 0527f65cee..adedccf4a2 100644 --- a/scripts/cypress-v2/integration/common/2b_table_with_m2m_column.js +++ b/scripts/cypress-v2/integration/common/2b_table_with_m2m_column.js @@ -8,6 +8,13 @@ export const genTest = (apiType, dbType) => { before(() => { cy.fileHook(); mainPage.tabReset(); + + // // kludge: wait for page load to finish + // cy.wait(1000); + // // close team & auth tab + // cy.get('button.ant-tabs-tab-remove').should('exist').click(); + // cy.wait(1000); + cy.openTableTab("Actor", 25); }); @@ -57,31 +64,34 @@ export const genTest = (apiType, dbType) => { .should("exist"); }); - // GUI-v2 Kludge: - it.skip('Expand "Link to" record, validate', () => { + it('Expand "Link to" record, validate', () => { cy.getActiveModal() .find("button:contains(Link to 'Film')") .click() .then(() => { - cy.snipActiveModal("Modal_M2M_LinkToRecord"); // Link record form validation cy.getActiveModal().contains("Link Record").should("exist"); cy.getActiveModal() - .find("button.mdi-reload") + .find(".nc-reload") .should("exist"); cy.getActiveModal() - .find('button:contains("New Record")') + .find('button:contains("Add new record")') .should("exist"); cy.getActiveModal() - .find(".child-card") + .find(".ant-card") .eq(0) .contains("ACE GOLDFINGER") .should("exist"); - cy.get("body").type("{esc}"); + cy.getActiveModal().find("button.ant-modal-close").click(); }); }); it("Expand first linked card, validate", () => { + + // expand first row + mainPage.getCell("Film List", 1).should("exist").trigger("mouseover").click(); + cy.get('.nc-action-icon').eq(0).should('exist').click({ force: true }); + cy.getActiveModal() .find(".ant-card") .eq(0) @@ -91,18 +101,18 @@ export const genTest = (apiType, dbType) => { // wait to ensure pop up appears before we proceed further cy.wait(1000) // Link card validation - cy.getActiveModal() + cy.getActiveDrawer() .find(".text-lg") .contains("ACADEMY DINOSAUR") .should("exist"); - cy.getActiveModal() + cy.getActiveDrawer() .find('button:contains("Save row")') .should("exist"); - cy.getActiveModal() + cy.getActiveDrawer() .find('button:contains("Cancel")') .should("exist"); - cy.getActiveModal() + cy.getActiveDrawer() .find('button:contains("Cancel")') .click(); cy.getActiveModal().find("button.ant-modal-close").click(); diff --git a/scripts/cypress-v2/integration/common/3a_filter_sort_fields_operations.js b/scripts/cypress-v2/integration/common/3a_filter_sort_fields_operations.js index a67c563899..718d1ce9cf 100644 --- a/scripts/cypress-v2/integration/common/3a_filter_sort_fields_operations.js +++ b/scripts/cypress-v2/integration/common/3a_filter_sort_fields_operations.js @@ -8,6 +8,13 @@ export const genTest = (apiType, dbType) => { before(() => { cy.fileHook(); mainPage.tabReset(); + + // // kludge: wait for page load to finish + // cy.wait(1000); + // // close team & auth tab + // cy.get('button.ant-tabs-tab-remove').should('exist').click(); + // cy.wait(1000); + // open country table cy.openTableTab("Country", 25); }); @@ -46,15 +53,26 @@ export const genTest = (apiType, dbType) => { // create new row using + button in header // - it.skip("Add row using tool header button", () => { + it("Add row using tool header button", () => { // add a row to end of Country table cy.get(".nc-add-new-row-btn").click(); - cy.get("#data-table-form-Country > input") - .first() - .type("Test Country"); - cy.contains("Save row").filter("button").click(); + cy.wait(1000); + cy.get(".nc-expand-col-Country").find(".nc-cell > input").first().type("Test Country"); + cy.getActiveDrawer() + .find(".ant-btn-primary") + .contains("Save row") + .click(); + + // cy.get("#data-table-form-Country > input") + // .first() + // .type("Test Country"); + // cy.contains("Save row").filter("button").click(); cy.toastWait("updated successfully"); + cy.getActiveDrawer() + .find(".ant-btn") + .contains("Cancel") + .click(); // verify mainPage.getPagination(5).click(); @@ -68,7 +86,7 @@ export const genTest = (apiType, dbType) => { // delete single row // - it.skip("Delete Row", () => { + it("Delete Row", () => { // delete row added in previous step mainPage.getCell("Country", 10).rightclick(); cy.getActiveMenu().contains("Delete Row").click(); @@ -76,18 +94,18 @@ export const genTest = (apiType, dbType) => { // cy.toastWait('Deleted row successfully') // verify - mainPage.getCell("Country", 10).should("not.exist"); + cy.get(`:nth-child(10) > [data-title="Country"]`).should("not.exist"); }); // create new row using right click menu option // - it("Add row using rightclick menu option", () => { + it.skip("Add row using rightclick menu option", () => { // Temporary mainPage.getPagination(5).click(); mainPage.getCell("Country", 9).rightclick({ force: true }); cy.getActiveMenu() - .contains("Insert new row") + .contains("Insert New Row") .click({ force: true }); mainPage .getCell("Country", 10) @@ -97,7 +115,7 @@ export const genTest = (apiType, dbType) => { mainPage.getCell("Country", 10).rightclick({ force: true }); cy.getActiveMenu() - .contains("Insert new row") + .contains("Insert New Row") .click({ force: true }); mainPage .getCell("Country", 11) @@ -107,7 +125,7 @@ export const genTest = (apiType, dbType) => { // GUI-v2 Kludge: // to move cursor away from input field; enter key is not recognized - mainPage.getCell("Country", 10).click() + // mainPage.getCell("Country", 10).click() // verify mainPage @@ -122,7 +140,7 @@ export const genTest = (apiType, dbType) => { // delete selected rows (multiple) // - it("Delete Selected", () => { + it.skip("Delete Selected", () => { cy.get(".ant-checkbox").should('exist') .eq(10).click({ force: true }); cy.get(".ant-checkbox").should('exist') @@ -147,22 +165,21 @@ export const genTest = (apiType, dbType) => { }); }); - // GUI-v2 Kludge: Disable sort isn't disappearing after clear - // describe(`Sort operations`, () => { - // beforeEach(() => { - // cy.fileHook(); - // }) - // - // it("Enable sort", () => { - // mainPage.sortField("Country", "Z → A"); - // cy.contains("Zambia").should("exist"); - // }); - // - // it("Disable sort", () => { - // mainPage.clearSort(); - // cy.contains("Zambia").should("not.exist"); - // }); - // }); + describe(`Sort operations`, () => { + beforeEach(() => { + cy.fileHook(); + }) + + it("Enable sort", () => { + mainPage.sortField("Country", "Z → A"); + cy.contains("Zambia").should("exist"); + }); + + it("Disable sort", () => { + mainPage.clearSort(); + cy.contains("Zambia").should("not.exist"); + }); + }); describe("Field Operation", () => { beforeEach(() => { diff --git a/scripts/cypress-v2/support/page_objects/mainPage.js b/scripts/cypress-v2/support/page_objects/mainPage.js index d183eddcb4..3e5498a807 100644 --- a/scripts/cypress-v2/support/page_objects/mainPage.js +++ b/scripts/cypress-v2/support/page_objects/mainPage.js @@ -303,17 +303,19 @@ export class _mainPage { cy.getActiveMenu().contains("Add Sort Option").click(); // cy.get(".nc-sort-field-select div").first().click().type(field); cy.get(".nc-sort-field-select div").first().click(); + cy.wait(500) cy.get('.ant-select-dropdown:visible').find(`.ant-select-item`).contains(new RegExp("^" + field + "$", "g")).should('exist').click(); cy.get(".nc-sort-dir-select div").first().click(); + cy.wait(500) cy.get('.ant-select-dropdown:visible').find(`.ant-select-item`).contains(criteria).should('exist').click(); cy.get(".nc-sort-menu-btn").click(); }; clearSort = () => { cy.get(".nc-sort-menu-btn").click(); - cy.wait(1000) + cy.wait(500) cy.get(".nc-sort-item-remove-btn").click(); - cy.wait(1000) + cy.wait(500) cy.get(".nc-sort-item-remove-btn:visible").should("not.exist"); cy.get(".nc-sort-menu-btn").click(); }; @@ -323,9 +325,11 @@ export class _mainPage { cy.contains("Add Filter").click(); // cy.get(".nc-filter-field-select").should("exist").last().click().type(field); cy.get(".nc-filter-field-select").should("exist").last().click(); + cy.wait(500) cy.get('.ant-select-dropdown:visible').should('exist').find(`.ant-select-item`).contains(new RegExp("^" + field + "$", "g")).should('exist').click(); - cy.wait(1000); + cy.wait(500) cy.get(".nc-filter-operation-select").should("exist").last().click(); + cy.wait(500) cy.get('.ant-select-dropdown:visible').should('exist').find(`.ant-select-item`).contains(operation).should('exist').click(); if (operation != "is null" && operation != "is not null") { cy.get(".nc-filter-value-select")