Releases: testing-library/eslint-plugin-testing-library
Releases · testing-library/eslint-plugin-testing-library
v3.0.0
3.0.0 (2020-03-29)
Features
await-async-utils
: reflect waitFor changes (#89)- new rule
no-wait-for-empty-callback
(#94) - new rule
prefer-wait-for
(#88) - new rule
prefer-screen-queries
(#99) - new rule
prefer-presence-queries
(#98)
prefer-wait-for
This new rule is fixable so it can help you migrating deprecated wait
, waitForElement
and waitForDomChange
to new waitFor
method.
From this:
import { render, wait, waitForElement, waitForDomChange } from '@testing-library/dom';
async () => {
render(<SomeComponent />);
await wait();
await wait(() => expect(screen.getByText('submit')).not.toBeInTheDocument());
await waitForElement(() => {});
await waitForDomChange();
await waitForDomChange({ timeout: 100 });
};
to this:
import { render, waitFor } from '@testing-library/dom';
async () => {
render(<SomeComponent />);
// `wait` without callback is replaced with `waitFor` with empty callback
await waitFor(() => {});
// `wait` with some callback is replaced with `waitFor` keeping same callback
await waitFor(() => expect(screen.getByText('submit')).not.toBeInTheDocument());
// same for `waitForElement`
await waitFor(() => {});
// same for `waitForDomChange`
await waitFor(() => {});
// `waitForDomChange` options are passed as 2nd arg to `waitFor`
await waitFor(() => {}, { timeout: 100 });
};