diff --git a/README.md b/README.md index 86987753..06e1910b 100644 --- a/README.md +++ b/README.md @@ -328,7 +328,7 @@ module.exports = [ | [await-async-queries](docs/rules/await-async-queries.md) | Enforce promises from async queries to be handled | ![badge-angular][] ![badge-dom][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | | | [await-async-utils](docs/rules/await-async-utils.md) | Enforce promises from async utils to be awaited properly | ![badge-angular][] ![badge-dom][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | | | [consistent-data-testid](docs/rules/consistent-data-testid.md) | Ensures consistent usage of `data-testid` | | | | -| [no-await-sync-events](docs/rules/no-await-sync-events.md) | Disallow unnecessary `await` for sync events | ![badge-angular][] ![badge-dom][] ![badge-react][] | | | +| [no-await-sync-events](docs/rules/no-await-sync-events.md) | Disallow unnecessary `await` for sync events | ![badge-angular][] ![badge-dom][] | | | | [no-await-sync-queries](docs/rules/no-await-sync-queries.md) | Disallow unnecessary `await` for sync queries | ![badge-angular][] ![badge-dom][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | | | [no-container](docs/rules/no-container.md) | Disallow the use of `container` methods | ![badge-angular][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | | | [no-debugging-utils](docs/rules/no-debugging-utils.md) | Disallow the use of debugging utilities like `debug` | | ![badge-angular][] ![badge-marko][] ![badge-react][] ![badge-svelte][] ![badge-vue][] | | diff --git a/docs/rules/no-await-sync-events.md b/docs/rules/no-await-sync-events.md index 8e953882..60a37de0 100644 --- a/docs/rules/no-await-sync-events.md +++ b/docs/rules/no-await-sync-events.md @@ -1,6 +1,6 @@ # Disallow unnecessary `await` for sync events (`testing-library/no-await-sync-events`) -💼 This rule is enabled in the following configs: `angular`, `dom`, `react`. +💼 This rule is enabled in the following configs: `angular`, `dom`. @@ -110,6 +110,7 @@ module.exports = { ## When Not To Use It +- When you're using `@testing-library/react` in version 17 and above. - `"fire-event"` option: should be disabled only for those Testing Library packages where fire-event methods are async. - `"user-event"` option: should be disabled only if using v14 or greater. diff --git a/lib/configs/react.ts b/lib/configs/react.ts index c1e293b3..8d759504 100644 --- a/lib/configs/react.ts +++ b/lib/configs/react.ts @@ -12,7 +12,7 @@ export = { 'testing-library/await-async-queries': 'error', 'testing-library/await-async-utils': 'error', 'testing-library/no-await-sync-events': [ - 'error', + false, { eventModules: ['fire-event'] }, ], 'testing-library/no-await-sync-queries': 'error', diff --git a/lib/rules/no-await-sync-events.ts b/lib/rules/no-await-sync-events.ts index 5d563571..9073fdfd 100644 --- a/lib/rules/no-await-sync-events.ts +++ b/lib/rules/no-await-sync-events.ts @@ -31,7 +31,8 @@ export default createTestingLibraryRule({ recommendedConfig: { dom: ['error', { eventModules: DEFAULT_EVENT_MODULES }], angular: ['error', { eventModules: DEFAULT_EVENT_MODULES }], - react: ['error', { eventModules: DEFAULT_EVENT_MODULES }], + // @testing-library/react >= 17.0 requires `await act()` and therefore `await fireEvent()` + react: [false, { eventModules: DEFAULT_EVENT_MODULES }], vue: false, svelte: false, marko: false,