Skip to content

post-upgrade, unexpected act warning with findBy queries (includes repro) #1125

Closed
@trv-wcaneira

Description

@trv-wcaneira

Relevant code or config:

  render(<App />);
  
  //generates an unexpected act warning after upgrading
  await screen.findByText('Loading...')

  const text = await screen.findByText('testing123');
  expect(text).toBeInTheDocument();

What you did:

Upgraded existing application to react 18+ and RTL 13+.

What happened:

A number of tests starting producing act warnings after the upgrade.

In this case, the component being rendered has initial "loading" state before a fetch is completed and the state is changed. Our existing tests awaited the "loading" text. This now produces an act warning.

Reproduction:

I was able to reproduce the issue with a simple CRA repo, here: https://github.com/trv-wcaneira/act-warning-mcve

Problem description:

The act warning is certainly a distraction over hundreds of tests, but concerning because I know it is there for a reason, and I'd like to understand what is wrong.

Suggested solution:

I can replace the await findBy* queries in our tests for this use case, but I'd like to better understand why this is happening (please). I am especially curious because after upgrading, I have noticed a number of behavior changes in existing tests (that I'll file separate issues for).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions