eslint-plugin-task-needs-wait-for
Version:
Helps to prevent writing ember-concurrency tasks that would create flaky tests.
56 lines (52 loc) • 2.27 kB
text/typescript
import * as vitest from "vitest";
import { decoratorPresence } from "../rules/decorator-presence.js";
import { RuleTester } from "@typescript-eslint/rule-tester";
RuleTester.afterAll = vitest.afterAll;
RuleTester.it = vitest.it;
RuleTester.itOnly = vitest.it.only;
RuleTester.describe = vitest.describe;
const ruleTester = new RuleTester({
parser: "@typescript-eslint/parser",
});
ruleTester.run("task-needs-wait-for", decoratorPresence, {
valid: [
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
],
invalid: [
{
code: `class Foo { *example() { } }`,
output: `import { waitFor } from '@ember/test-waiters';class Foo { *example() { } }`,
errors: [{ messageId: "task-without-wait-for" }],
},
{
code: `class Foo { *example() { } }`,
output: `import { waitFor } from '@ember/test-waiters';class Foo { *example() { } }`,
errors: [{ messageId: "task-without-wait-for" }],
},
{
code: `class Foo { *example() { } }`,
output: `import { waitFor } from '@ember/test-waiters';class Foo { *example() { } }`,
errors: [{ messageId: "task-without-wait-for" }],
},
{
code: `class Foo { *example() { } }`,
output: `import { waitFor } from '@ember/test-waiters';class Foo { *example() { } }`,
errors: [{ messageId: "task-without-wait-for" }],
},
{
code: `class Foo { *example() { } }`,
output: `import { waitFor } from '@ember/test-waiters';class Foo { *example() { } }`,
errors: [{ messageId: "task-without-wait-for" }],
},
{
code: `import { waitFor } from '@ember/test-waiters'; class Foo { *example() { } }`,
output: `import { waitFor } from '@ember/test-waiters'; class Foo { *example() { } }`,
errors: [{ messageId: "task-without-wait-for" }],
},
],
});