✅(react) fix flaky test about Input component
A test of Input component was flaky and raise some `act` warnings. Forcing the use of testing library 9 seems to fix the issue.
This commit is contained in:
committed by
Jean-Baptiste PENRATH
parent
7144961c50
commit
aa4dcdd800
@@ -37,6 +37,7 @@ describe("<Input/>", () => {
|
|||||||
<Input label="Second name" />
|
<Input label="Second name" />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
const input: HTMLInputElement = screen.getByRole("textbox", {
|
const input: HTMLInputElement = screen.getByRole("textbox", {
|
||||||
name: "First name",
|
name: "First name",
|
||||||
});
|
});
|
||||||
@@ -45,15 +46,21 @@ describe("<Input/>", () => {
|
|||||||
});
|
});
|
||||||
const label = screen.getByText("First name");
|
const label = screen.getByText("First name");
|
||||||
expect(Array.from(label.classList)).toContain("placeholder");
|
expect(Array.from(label.classList)).toContain("placeholder");
|
||||||
|
|
||||||
// Clicking on the input should remove the placeholder class.
|
// Clicking on the input should remove the placeholder class.
|
||||||
await user.click(input);
|
await user.click(input);
|
||||||
|
|
||||||
expect(Array.from(label.classList)).not.toContain("placeholder");
|
expect(Array.from(label.classList)).not.toContain("placeholder");
|
||||||
|
|
||||||
// Writing something should remove the placeholder class too.
|
// Writing something should remove the placeholder class too.
|
||||||
await user.type(input, "John");
|
await user.type(input, "John");
|
||||||
|
|
||||||
expect(Array.from(label.classList)).not.toContain("placeholder");
|
expect(Array.from(label.classList)).not.toContain("placeholder");
|
||||||
|
|
||||||
// Clearing the input and focus out should add the placeholder class
|
// Clearing the input and focus out should add the placeholder class
|
||||||
await user.clear(input);
|
await user.clear(input);
|
||||||
await user.click(input2);
|
await user.click(input2);
|
||||||
|
|
||||||
expect(Array.from(label.classList)).toContain("placeholder");
|
expect(Array.from(label.classList)).toContain("placeholder");
|
||||||
});
|
});
|
||||||
it("renders with state=success", async () => {
|
it("renders with state=success", async () => {
|
||||||
|
|||||||
16
yarn.lock
16
yarn.lock
@@ -3347,7 +3347,7 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.9.1.tgz#869410ca1748c45d4e19ccfd4db7e36452611674"
|
resolved "https://registry.yarnpkg.com/@tanstack/table-core/-/table-core-8.9.1.tgz#869410ca1748c45d4e19ccfd4db7e36452611674"
|
||||||
integrity sha512-2+R83n8vMZND0q3W1lSiF7co9nFbeWbjAErFf27xwbeA9E0wtUu5ZDfgj+TZ6JzdAEQAgfxkk/QNFAKiS8E4MA==
|
integrity sha512-2+R83n8vMZND0q3W1lSiF7co9nFbeWbjAErFf27xwbeA9E0wtUu5ZDfgj+TZ6JzdAEQAgfxkk/QNFAKiS8E4MA==
|
||||||
|
|
||||||
"@testing-library/dom@9.3.0":
|
"@testing-library/dom@9.3.0", "@testing-library/dom@^9.0.0":
|
||||||
version "9.3.0"
|
version "9.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.0.tgz#ed8ce10aa5e05eb6eaf0635b5b8975d889f66075"
|
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.0.tgz#ed8ce10aa5e05eb6eaf0635b5b8975d889f66075"
|
||||||
integrity sha512-Dffe68pGwI6WlLRYR2I0piIkyole9cSBH5jGQKCGMRpHW5RHCqAUaqc2Kv0tUyd4dU4DLPKhJIjyKOnjv4tuUw==
|
integrity sha512-Dffe68pGwI6WlLRYR2I0piIkyole9cSBH5jGQKCGMRpHW5RHCqAUaqc2Kv0tUyd4dU4DLPKhJIjyKOnjv4tuUw==
|
||||||
@@ -3375,20 +3375,6 @@
|
|||||||
lz-string "^1.4.4"
|
lz-string "^1.4.4"
|
||||||
pretty-format "^27.0.2"
|
pretty-format "^27.0.2"
|
||||||
|
|
||||||
"@testing-library/dom@^9.0.0":
|
|
||||||
version "9.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.2.0.tgz#0e1f45e956f2a16f471559c06edd8827c4832f04"
|
|
||||||
integrity sha512-xTEnpUKiV/bMyEsE5bT4oYA0x0Z/colMtxzUY8bKyPXBNLn/e0V4ZjBZkEhms0xE4pv9QsPfSRu9AWS4y5wGvA==
|
|
||||||
dependencies:
|
|
||||||
"@babel/code-frame" "^7.10.4"
|
|
||||||
"@babel/runtime" "^7.12.5"
|
|
||||||
"@types/aria-query" "^5.0.1"
|
|
||||||
aria-query "^5.0.0"
|
|
||||||
chalk "^4.1.0"
|
|
||||||
dom-accessibility-api "^0.5.9"
|
|
||||||
lz-string "^1.5.0"
|
|
||||||
pretty-format "^27.0.2"
|
|
||||||
|
|
||||||
"@testing-library/jest-dom@5.16.5":
|
"@testing-library/jest-dom@5.16.5":
|
||||||
version "5.16.5"
|
version "5.16.5"
|
||||||
resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e"
|
resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e"
|
||||||
|
|||||||
Reference in New Issue
Block a user