From 049fd5ce7cdd7bdcdeb499b2c1cab8074d647724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20De=20Boey?= Date: Thu, 23 Sep 2021 17:15:39 +0200 Subject: [PATCH] feat(prefer-presence-queries): add to all configs by default BREAKING CHANGE: `prefer-presence-queries` is now enabled by default in all configs --- README.md | 2 +- lib/configs/angular.ts | 1 + lib/configs/dom.ts | 1 + lib/configs/react.ts | 1 + lib/configs/vue.ts | 1 + lib/rules/prefer-presence-queries.ts | 8 ++++---- tests/__snapshots__/index.test.ts.snap | 4 ++++ 7 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8b859d8c..4fab0e47 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,7 @@ To enable this configuration use the `extends` property in your | [`testing-library/no-wait-for-snapshot`](./docs/rules/no-wait-for-snapshot.md) | Ensures no snapshot is generated inside of a `waitFor` call | | ![dom-badge][] ![angular-badge][] ![react-badge][] ![vue-badge][] | | [`testing-library/prefer-explicit-assert`](./docs/rules/prefer-explicit-assert.md) | Suggest using explicit assertions rather than standalone queries | | | | [`testing-library/prefer-find-by`](./docs/rules/prefer-find-by.md) | Suggest using `find(All)By*` query instead of `waitFor` + `get(All)By*` to wait for elements | 🔧 | ![dom-badge][] ![angular-badge][] ![react-badge][] ![vue-badge][] | -| [`testing-library/prefer-presence-queries`](./docs/rules/prefer-presence-queries.md) | Ensure appropriate `get*`/`query*` queries are used with their respective matchers | | | +| [`testing-library/prefer-presence-queries`](./docs/rules/prefer-presence-queries.md) | Ensure appropriate `get*`/`query*` queries are used with their respective matchers | | ![dom-badge][] ![angular-badge][] ![react-badge][] ![vue-badge][] | | [`testing-library/prefer-query-by-disappearance`](./docs/rules/prefer-query-by-disappearance.md) | Suggest using `queryBy*` queries when waiting for disappearance | | | | [`testing-library/prefer-screen-queries`](./docs/rules/prefer-screen-queries.md) | Suggest using `screen` while querying | | ![dom-badge][] ![angular-badge][] ![react-badge][] ![vue-badge][] | | [`testing-library/prefer-user-event`](./docs/rules/prefer-user-event.md) | Suggest using `userEvent` over `fireEvent` for simulating user interactions | | | diff --git a/lib/configs/angular.ts b/lib/configs/angular.ts index 564f4ee3..066e5d45 100644 --- a/lib/configs/angular.ts +++ b/lib/configs/angular.ts @@ -19,6 +19,7 @@ export = { 'testing-library/no-wait-for-side-effects': 'error', 'testing-library/no-wait-for-snapshot': 'error', 'testing-library/prefer-find-by': 'error', + 'testing-library/prefer-presence-queries': 'error', 'testing-library/prefer-screen-queries': 'error', 'testing-library/render-result-naming-convention': 'error', }, diff --git a/lib/configs/dom.ts b/lib/configs/dom.ts index 4f776c7f..935fd36e 100644 --- a/lib/configs/dom.ts +++ b/lib/configs/dom.ts @@ -14,6 +14,7 @@ export = { 'testing-library/no-wait-for-side-effects': 'error', 'testing-library/no-wait-for-snapshot': 'error', 'testing-library/prefer-find-by': 'error', + 'testing-library/prefer-presence-queries': 'error', 'testing-library/prefer-screen-queries': 'error', }, }; diff --git a/lib/configs/react.ts b/lib/configs/react.ts index 9ad4f20f..9f509ce3 100644 --- a/lib/configs/react.ts +++ b/lib/configs/react.ts @@ -20,6 +20,7 @@ export = { 'testing-library/no-wait-for-side-effects': 'error', 'testing-library/no-wait-for-snapshot': 'error', 'testing-library/prefer-find-by': 'error', + 'testing-library/prefer-presence-queries': 'error', 'testing-library/prefer-screen-queries': 'error', 'testing-library/render-result-naming-convention': 'error', }, diff --git a/lib/configs/vue.ts b/lib/configs/vue.ts index b860eb07..5b637a80 100644 --- a/lib/configs/vue.ts +++ b/lib/configs/vue.ts @@ -20,6 +20,7 @@ export = { 'testing-library/no-wait-for-side-effects': 'error', 'testing-library/no-wait-for-snapshot': 'error', 'testing-library/prefer-find-by': 'error', + 'testing-library/prefer-presence-queries': 'error', 'testing-library/prefer-screen-queries': 'error', 'testing-library/render-result-naming-convention': 'error', }, diff --git a/lib/rules/prefer-presence-queries.ts b/lib/rules/prefer-presence-queries.ts index 1b8839c4..d07bf999 100644 --- a/lib/rules/prefer-presence-queries.ts +++ b/lib/rules/prefer-presence-queries.ts @@ -15,10 +15,10 @@ export default createTestingLibraryRule({ description: 'Ensure appropriate `get*`/`query*` queries are used with their respective matchers', recommendedConfig: { - dom: false, - angular: false, - react: false, - vue: false, + dom: 'error', + angular: 'error', + react: 'error', + vue: 'error', }, }, messages: { diff --git a/tests/__snapshots__/index.test.ts.snap b/tests/__snapshots__/index.test.ts.snap index 53f87f59..0d9a6eb9 100644 --- a/tests/__snapshots__/index.test.ts.snap +++ b/tests/__snapshots__/index.test.ts.snap @@ -24,6 +24,7 @@ Object { "testing-library/no-wait-for-side-effects": "error", "testing-library/no-wait-for-snapshot": "error", "testing-library/prefer-find-by": "error", + "testing-library/prefer-presence-queries": "error", "testing-library/prefer-screen-queries": "error", "testing-library/render-result-naming-convention": "error", }, @@ -42,6 +43,7 @@ Object { "testing-library/no-wait-for-side-effects": "error", "testing-library/no-wait-for-snapshot": "error", "testing-library/prefer-find-by": "error", + "testing-library/prefer-presence-queries": "error", "testing-library/prefer-screen-queries": "error", }, }, @@ -73,6 +75,7 @@ Object { "testing-library/no-wait-for-side-effects": "error", "testing-library/no-wait-for-snapshot": "error", "testing-library/prefer-find-by": "error", + "testing-library/prefer-presence-queries": "error", "testing-library/prefer-screen-queries": "error", "testing-library/render-result-naming-convention": "error", }, @@ -100,6 +103,7 @@ Object { "testing-library/no-wait-for-side-effects": "error", "testing-library/no-wait-for-snapshot": "error", "testing-library/prefer-find-by": "error", + "testing-library/prefer-presence-queries": "error", "testing-library/prefer-screen-queries": "error", "testing-library/render-result-naming-convention": "error", },