diff --git a/.eslintrc.cjs b/.eslintrc.cjs index bbf94a1ea8..68d1987e38 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -8,7 +8,7 @@ module.exports = { project: "./tsconfig.eslint.json", }, ignorePatterns: ["*.cjs", "*.js"], - plugins: ["@typescript-eslint"], + plugins: ["@typescript-eslint", "jest"], root: true, env: { node: true, @@ -101,5 +101,8 @@ module.exports = { "require-await": "off", "@typescript-eslint/require-await": "error", "@typescript-eslint/unified-signatures": "error", + "jest/no-focused-tests": "error", + "jest/no-identical-title": "error", + "jest/valid-expect": "error", }, }; diff --git a/package.json b/package.json index b6febf3845..27e825bd4c 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,7 @@ "cspell": "^8.8.3", "diff": "^7.0.0", "eslint": "^8.57.0", + "eslint-plugin-jest": "^28.11.0", "fast-check": "^3.23.2", "glob": "^8.1.0", "husky": "^9.1.5", diff --git a/src/cli/tact/e2e.spec.ts b/src/cli/tact/e2e.spec.ts index b361530a23..8db8bff3e5 100644 --- a/src/cli/tact/e2e.spec.ts +++ b/src/cli/tact/e2e.spec.ts @@ -93,7 +93,7 @@ contract Test { } `; -describe("tact foo.tact", () => { +describe("tact foo.tact --...", () => { testWin("Check single-contract compilation without flags", async () => { const path = await codegen.contract(`single`, goodContract); const result = await tact(path); @@ -166,7 +166,7 @@ describe("tact --config config.json", () => { const result = await tact(`--config ${r.config}`); expect(result).toMatchObject({ kind: "exited", code: 0 }); - const statPromise = stat(r.outputPath("code.rev.fif")); + const statPromise = stat(r.outputPath("rev.fif")); await expect(statPromise).resolves.toMatchObject({}); }); @@ -184,7 +184,7 @@ describe("tact --config config.json", () => { }); }); -describe.only("tact -q foo.tact", () => { +describe("tact -q foo.tact", () => { testWin("-q shows errors ", async () => { const path = await codegen.contract( `quiet`, diff --git a/yarn.lock b/yarn.lock index abf7493859..c3bbaaa5e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1609,7 +1609,7 @@ semver "^7.6.0" ts-api-utils "^2.0.1" -"@typescript-eslint/utils@8.26.0": +"@typescript-eslint/utils@8.26.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": version "8.26.0" resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.26.0.tgz#845d20ed8378a5594e6445f54e53b972aee7b3e6" integrity sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig== @@ -2491,6 +2491,13 @@ escape-string-regexp@^2.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== +eslint-plugin-jest@^28.11.0: + version "28.11.0" + resolved "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.11.0.tgz#2641ecb4411941bbddb3d7cf8a8ff1163fbb510e" + integrity sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig== + dependencies: + "@typescript-eslint/utils" "^6.0.0 || ^7.0.0 || ^8.0.0" + eslint-scope@^7.2.2: version "7.2.2" resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"