eslint-plugin-task-needs-wait-for
Version:
Helps to prevent writing ember-concurrency tasks that would create flaky tests.
43 lines (39 loc) • 1.44 kB
text/typescript
import * as vitest from "vitest";
import { decoratorOrder } from "../rules/decorator-order.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", decoratorOrder, {
valid: [
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example1() { } *example2() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
`class Foo { *example() { } }`,
],
invalid: [
{
code: `class Foo { *example() { } }`,
output: "class Foo { @task @waitFor *example() { } }",
errors: [
{messageId: 'task-before-wait-for'}
],
},
{
code: `class Bar { *example1() { } *example2() { } }`,
output: "class Bar { @task @waitFor *example1() { } @task @waitFor *example2() { } }",
errors: [
{messageId: 'task-before-wait-for'}
],
},
],
});