generated from nhcarrigan/template
109 lines
4.0 KiB
TypeScript
109 lines
4.0 KiB
TypeScript
/**
|
|
* @copyright nhcarrigan
|
|
* @license Naomi's Public License
|
|
* @author Naomi Carrigan
|
|
*/
|
|
|
|
import { describe, expect, it } from "vitest";
|
|
import { eslintRules } from "../src/rules/eslint.ts";
|
|
import { importRules } from "../src/rules/import.js";
|
|
import { jsdocRules } from "../src/rules/jsdoc.js";
|
|
import { playwrightRules } from "../src/rules/playwright.ts";
|
|
import { reactRules } from "../src/rules/react.js";
|
|
import { stylisticRules } from "../src/rules/stylistic.ts";
|
|
import { typescriptEslintRules } from "../src/rules/typescriptEslint.js";
|
|
import { unicornRules } from "../src/rules/unicorn.js";
|
|
import { vitestRules } from "../src/rules/vitest.js";
|
|
|
|
describe("no rules should be turned off in", () => {
|
|
it("eslint rules", () => {
|
|
expect.assertions(148);
|
|
const rules = Object.entries(eslintRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("import rules", () => {
|
|
expect.assertions(29);
|
|
const rules = Object.entries(importRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("jsdoc rules", () => {
|
|
expect.assertions(43);
|
|
const rules = Object.entries(jsdocRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("playwright rules", () => {
|
|
expect.assertions(42);
|
|
const rules = Object.entries(playwrightRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("react rules", () => {
|
|
expect.assertions(70);
|
|
const rules = Object.entries(reactRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("stylistic rules", () => {
|
|
expect.assertions(65);
|
|
const rules = Object.entries(stylisticRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("typescript-eslint rules", () => {
|
|
expect.assertions(59);
|
|
const rules = Object.entries(typescriptEslintRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("unicorn rules", () => {
|
|
expect.assertions(73);
|
|
const rules = Object.entries(unicornRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
|
|
it("vitest rules", () => {
|
|
expect.assertions(45);
|
|
const rules = Object.entries(vitestRules);
|
|
for (const [ name, rule ] of rules) {
|
|
expect(Array.isArray(rule)
|
|
? rule.at(0)
|
|
: rule, `${name} appears to be turned off - this project does not use any external configs, so all rules should be off by default.`).not.toBe("off");
|
|
}
|
|
});
|
|
});
|