From 26c1f613efdfc3ec2174e6e16e5d90a913fd227a Mon Sep 17 00:00:00 2001 From: Bruno Pinto Date: Thu, 20 Jan 2022 18:46:37 -0300 Subject: [PATCH 1/2] fix(prefer-find-by): fix report with querySelector Fix #501 --- lib/rules/prefer-find-by.ts | 4 ++++ tests/lib/rules/prefer-find-by.test.ts | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/lib/rules/prefer-find-by.ts b/lib/rules/prefer-find-by.ts index 460eab38..a5dc0eba 100644 --- a/lib/rules/prefer-find-by.ts +++ b/lib/rules/prefer-find-by.ts @@ -373,6 +373,10 @@ export default createTestingLibraryRule({ const callArguments = getQueryArguments(argument.body); const queryMethod = fullQueryMethod.split('By')[1]; + if (!queryMethod) { + return; + } + reportInvalidUsage(node, { queryMethod, queryVariant, diff --git a/tests/lib/rules/prefer-find-by.test.ts b/tests/lib/rules/prefer-find-by.test.ts index aaafdaef..3768f517 100644 --- a/tests/lib/rules/prefer-find-by.test.ts +++ b/tests/lib/rules/prefer-find-by.test.ts @@ -149,6 +149,14 @@ ruleTester.run(RULE_NAME, rule, { }) `, }, + { + code: ` + import {screen, waitFor} from '@testing-library/foo'; + it('tests', async () => { + await waitFor(() => expect(screen.querySelector('baz')).toBeInTheDocument()); + }) + `, + }, ], invalid: [ ...createScenario((waitMethod: string, queryMethod: string) => ({ From 93e33edb7887653385ed95e6953cade4223e959b Mon Sep 17 00:00:00 2001 From: Bruno Pinto Date: Fri, 21 Jan 2022 10:47:13 -0300 Subject: [PATCH 2/2] fixup! fix(prefer-find-by): fix report with querySelector --- tests/lib/rules/prefer-find-by.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/lib/rules/prefer-find-by.test.ts b/tests/lib/rules/prefer-find-by.test.ts index 3768f517..909b58ca 100644 --- a/tests/lib/rules/prefer-find-by.test.ts +++ b/tests/lib/rules/prefer-find-by.test.ts @@ -157,6 +157,15 @@ ruleTester.run(RULE_NAME, rule, { }) `, }, + { + code: ` + import {waitFor} from '@testing-library/foo'; + it('tests', async () => { + const { container } = render() + await waitFor(() => expect(container.querySelector('baz')).toBeInTheDocument()); + }) + `, + }, ], invalid: [ ...createScenario((waitMethod: string, queryMethod: string) => ({