Skip to content

v3.0.0

Compare
Choose a tag to compare
@Belco90 Belco90 released this 29 Mar 17:28
8c2dc0c

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 });
};

BREAKING CHANGES

  • drop support for node v8. Min version allowed is node v10.12 (#96)
  • rule no-get-by-for-checking-element-not-present removed in favor of new rule prefer-presence-queries (#98)