From f6b8e1e8a3f2ebf01f0f17530ff91e68b655fb4b Mon Sep 17 00:00:00 2001 From: Kamil Mielnik <kamil@kamilmielnik.com> Date: Wed, 6 Nov 2024 22:32:35 +0700 Subject: [PATCH] Fix flaky datamodel test (#49583) * Remove @flaky tag * Fix flake * Try typing delay instead * Improve comment * Bring back original solution --- .../admin/datamodel/datamodel.cy.spec.js | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/e2e/test/scenarios/admin/datamodel/datamodel.cy.spec.js b/e2e/test/scenarios/admin/datamodel/datamodel.cy.spec.js index 9ee4d8f8f35..de985c4cb09 100644 --- a/e2e/test/scenarios/admin/datamodel/datamodel.cy.spec.js +++ b/e2e/test/scenarios/admin/datamodel/datamodel.cy.spec.js @@ -67,8 +67,11 @@ describe("scenarios > admin > datamodel > field > field type", () => { }); } - function searchFieldType(type) { - cy.findByPlaceholderText("Find...").type(type); + function searchFieldType(value) { + // .type() is flaky when used for ListSearchField - typed characters can + // sometimes get rearranged while typing. + // Unclear why. Possibly because it's rendered as a virtualized list item. + cy.findByPlaceholderText("Find...").invoke("val", value).trigger("blur"); } function getFKTargetField(targetField) { @@ -100,23 +103,19 @@ describe("scenarios > admin > datamodel > field > field type", () => { cy.intercept("PUT", "/api/field/*").as("fieldUpdate"); }); - it( - "should let you change the type to 'No semantic type'", - { tags: "@flaky" }, - () => { - visitAlias("@ORDERS_PRODUCT_ID_URL"); - cy.wait(["@metadata", "@metadata"]); + it("should let you change the type to 'No semantic type'", () => { + visitAlias("@ORDERS_PRODUCT_ID_URL"); + cy.wait(["@metadata", "@metadata"]); - setFieldType({ oldValue: "Foreign Key", newValue: "No semantic type" }); + setFieldType({ oldValue: "Foreign Key", newValue: "No semantic type" }); - waitAndAssertOnResponse("fieldUpdate"); + waitAndAssertOnResponse("fieldUpdate"); - cy.reload(); - cy.wait("@metadata"); + cy.reload(); + cy.wait("@metadata"); - getFieldType("No semantic type"); - }, - ); + getFieldType("No semantic type"); + }); it("should let you change the type to 'Foreign Key' and choose the target field", () => { visitAlias("@ORDERS_QUANTITY_URL"); -- GitLab