Skip to content

consider using userEvent rather than fireEvent #394

Closed
@markgoho

Description

@markgoho

according to the docs

Most projects have a few use cases for fireEvent, but the majority of the time you should probably use @testing-library/user-event

Here's an updated version of 00-single-component.spec.ts:

import { render, screen } from '@testing-library/angular';
import userEvent from '@testing-library/user-event';

import { SingleComponent } from './00-single-component';

test('renders the current value and can increment and decrement', async () => {
  const user = userEvent.setup()
  await render(SingleComponent);

  const incrementControl = screen.getByRole('button', { name: /increment/i });
  const decrementControl = screen.getByRole('button', { name: /decrement/i });
  const valueControl = screen.getByTestId('value');

  expect(valueControl).toHaveTextContent('0');

  await user.click(incrementControl);
  await user.click(incrementControl);
  expect(valueControl).toHaveTextContent('2');

  await user.click(decrementControl);
  expect(valueControl).toHaveTextContent('1');
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions