test.govlab/quality/core/quality/eslint/no-call-enumeration.eslint.rule.test.ts
test.govlab/quality/core/quality/eslint/no-call-enumeration.eslint.rule.test.ts is a file in Codebase Testing. 37 lines of code and 0 definitions.
import { expect, test } from "vitest";
import { RuleTester } from "eslint";
import noCallEnumeration from "@govlab/quality/core/quality/eslint/no-call-enumeration.eslint.rule.ts";
const runCases = function runCases(
name: string,
ruleModule: Parameters<RuleTester["run"]>[1],
cases: Parameters<RuleTester["run"]>[2],
): number {
const tester = new RuleTester({ languageOptions: { ecmaVersion: 2025, sourceType: "module" } });
tester.run(name, ruleModule, cases);
return cases.valid.length + cases.invalid.length;
};
test("no-call-enumeration flags 3+ consecutive descriptor-object factory calls, not general repetition", () => {
expect(
runCases("no-call-enumeration", noCallEnumeration, {
invalid: [
{
code: "function f(){ reg({ id: 'a', run: x }); reg({ id: 'b', run: y }); reg({ id: 'c', run: z }); }",
errors: [{ messageId: "callEnumeration" }],
},
{
code: "function wire(m){ m.add({ event: 'a', handler: f }); m.add({ event: 'b', handler: g }); m.add({ event: 'c', handler: h }); }",
errors: [{ messageId: "callEnumeration" }],
},
],
valid: [
{ code: "function f(){ reg({ id: 'a' }); reg({ id: 'b' }); }" },
{ code: "const ITEMS = [ reg({ id: 'a' }), reg({ id: 'b' }), reg({ id: 'c' }) ];" },
{ code: "function f(){ it('a', fn); it('b', fn); it('c', fn); }" },
{
code: "function f(el){ el.setAttribute('a', '1'); el.setAttribute('b', '2'); el.setAttribute('c', '3'); }",
},
{ code: "function f(arr){ arr.push(1); arr.push(2); arr.push(3); }" },
],
}),
).toBeGreaterThan(0);
});