Skip to content

Make 'prefer-presence-queries' autofixable #916

@guicamillo

Description

@guicamillo

What rule do you want to change?

prefer-presence-queries

Does this change cause the rule to produce more or fewer warnings?

Fewer warnings

How will the change be implemented?

When eslint is run with the --fix flag, the plugin will:

  • replace the method in violation
  • auto import the expected method, if needed:

Example code

// current code
const {getByTestId} = render(<Thing />);
expect(getByTestId("awesome-test-id")).not.toBeInTheDocument()


// will then get replaced to
const {getByTestId, queryByTestId} = render(<Thing />);
expect(queryByTestId("awesome-test-id")).not.toBeInTheDocument()

How does the current rule affect the code?

Code isn't fixed automatically 🫤

How will the new rule affect the code?

It will be auto-fixed 🎉

Anything else?

No response

Do you want to submit a pull request to change the rule?

Yes

Activity

guicamillo

guicamillo commented on Jul 23, 2024

@guicamillo
Author

I've implemented the fixer and got it working as intended (i think)

im having some issues with the current unit tests as createRuleTester() seems to be autofixing it, producing a plethora of the following errors:

    Expected value to strictly be equal to:
      "expect(screen.queryByTestId('Hello')).not.toBeNull()"
    Received:
      "expect(screen.getByTestId('Hello')).not.toBeNull()"

Is it possible to run the unit tests without --fix, so i can ensure I haven't changed the current behaviour?

github-actions

github-actions commented on Jun 5, 2025

@github-actions

🎉 This issue has been resolved in version 7.4.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

added a commit that references this issue on Jun 5, 2025
4ab50a0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestreleasedtriagePending to be triaged by a maintainer

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @guicamillo

      Issue actions

        Make 'prefer-presence-queries' autofixable · Issue #916 · testing-library/eslint-plugin-testing-library