Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Fix: cypress findByTestId and percySnapshotElement do not work together #10947

Merged
merged 8 commits into from
Jul 14, 2023
9 changes: 8 additions & 1 deletion cypress/support/percy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,15 @@ Cypress.Commands.add("percySnapshotElement", { prevSubject: "element" }, (subjec
// Await inline spinners to vanish
cy.get(".mx_InlineSpinner", { log: false }).should("not.exist");
}

let selector = subject.selector;
// cy.findByTestId sets the selector to `findByTestId(<testId>)`
// which is not usable as a scope
if (selector.startsWith("findByTestId")) {
selector = `[data-testid="${subject.attr("data-testid")}"]`;
}
cy.percySnapshot(name, {
domTransformation: (documentClone) => scope(documentClone, subject.selector),
domTransformation: (documentClone) => scope(documentClone, selector),
...options,
});
});
Expand Down