From 4380f79723187c316b2aa879f3ff9dc1c2c13ad6 Mon Sep 17 00:00:00 2001 From: Armano Date: Sat, 2 Feb 2019 22:35:21 +0100 Subject: [PATCH 1/2] test(*): update eslint-plugin-jest and enable recommended rules --- .eslintrc.json | 15 +++++++++++---- package.json | 2 +- packages/parser/tests/lib/parser.ts | 2 +- packages/typescript-estree/tests/lib/parse.ts | 6 +++--- .../typescript-estree/tests/lib/semanticInfo.ts | 4 ++-- .../tests/lib/warn-on-unsupported-ts.ts | 1 + yarn.lock | 8 ++++---- 7 files changed, 23 insertions(+), 15 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index f44790c843c8..40a5182652ad 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -29,10 +29,10 @@ "overrides": [ { "files": [ - "packages/eslint-plugin-tslint/**/*.ts", - "packages/eslint-plugin/**/*.js", - "packages/parser/**/*.ts", - "packages/typescript-estree/**/*.ts" + "packages/eslint-plugin-tslint/tests/**/*.ts", + "packages/eslint-plugin/tests/**/*.js", + "packages/parser/tests/**/*.ts", + "packages/typescript-estree/tests/**/*.ts" ], "env": { "jest/globals": true @@ -40,8 +40,15 @@ "rules": { "jest/no-disabled-tests": "warn", "jest/no-focused-tests": "error", + "jest/no-alias-methods": "error", "jest/no-identical-title": "error", + "jest/no-jasmine-globals": "error", + "jest/no-jest-import": "error", + "jest/no-test-prefixes": "error", + "jest/no-test-callback": "error", + "jest/no-test-return-statement": "error", "jest/prefer-to-have-length": "warn", + "jest/prefer-spy-on": "error", "jest/valid-expect": "error" } }, diff --git a/package.json b/package.json index 18059f7381ed..a95c4a1a5710 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "cz-conventional-changelog": "2.1.0", "eslint": "^5.12.1", "eslint-plugin-eslint-plugin": "^2.0.1", - "eslint-plugin-jest": "^22.1.3", + "eslint-plugin-jest": "^22.2.2", "glob": "7.1.2", "husky": "^1.3.1", "jest": "23.6.0", diff --git a/packages/parser/tests/lib/parser.ts b/packages/parser/tests/lib/parser.ts index bfc23bac5abb..332be8b6e43c 100644 --- a/packages/parser/tests/lib/parser.ts +++ b/packages/parser/tests/lib/parser.ts @@ -24,7 +24,7 @@ describe('parser', () => { sourceType: 'script', useJSXTextNode: true }); - expect(spyScope).toHaveBeenCalledWith(jasmine.any(Object), { + expect(spyScope).toHaveBeenCalledWith(expect.any(Object), { ecmaFeatures: {}, sourceType: 'script' }); diff --git a/packages/typescript-estree/tests/lib/parse.ts b/packages/typescript-estree/tests/lib/parse.ts index fc7e8af99a10..6bed7ce8bcef 100644 --- a/packages/typescript-estree/tests/lib/parse.ts +++ b/packages/typescript-estree/tests/lib/parse.ts @@ -82,7 +82,7 @@ describe('parse()', () => { }); expect(spy).toHaveBeenCalledWith( - jasmine.any(Object), + expect.any(Object), { code: 'let foo = bar;', comment: true, @@ -96,8 +96,8 @@ describe('parse()', () => { projects: [], range: true, strict: false, - tokens: jasmine.any(Array), - tsconfigRootDir: jasmine.any(String), + tokens: expect.any(Array), + tsconfigRootDir: expect.any(String), useJSXTextNode: false }, false diff --git a/packages/typescript-estree/tests/lib/semanticInfo.ts b/packages/typescript-estree/tests/lib/semanticInfo.ts index e45cae843ed5..f5612f191cc5 100644 --- a/packages/typescript-estree/tests/lib/semanticInfo.ts +++ b/packages/typescript-estree/tests/lib/semanticInfo.ts @@ -179,7 +179,7 @@ describe('semanticInfo', () => { badConfig.project = './tsconfigs.json'; expect(() => parseCodeAndGenerateServices(readFileSync(fileName, 'utf8'), badConfig) - ).toThrowError(/File .+tsconfigs\.json' not found/); + ).toThrow(/File .+tsconfigs\.json' not found/); }); it('fail to read project file', () => { @@ -188,7 +188,7 @@ describe('semanticInfo', () => { badConfig.project = '.'; expect(() => parseCodeAndGenerateServices(readFileSync(fileName, 'utf8'), badConfig) - ).toThrowError(/File .+semanticInfo' not found/); + ).toThrow(/File .+semanticInfo' not found/); }); it('malformed project file', () => { diff --git a/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts b/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts index d984007bf757..0cef3cb2a125 100644 --- a/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts +++ b/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts @@ -11,6 +11,7 @@ describe('Warn on unsupported TypeScript version', () => { it('should warn the user if they are using an unsupported TypeScript version', () => { (semver.satisfies as jest.Mock).mockReturnValue(false); + // eslint-disable-next-line jest/prefer-spy-on console.log = jest.fn(); parser.parse(''); expect(console.log).toHaveBeenCalledWith( diff --git a/yarn.lock b/yarn.lock index 6980f52cafb8..1969160e6c41 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2378,10 +2378,10 @@ eslint-plugin-eslint-plugin@^2.0.1: resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-2.0.1.tgz#d275434969dbde3da1d4cb7a121dc8d88457c786" integrity sha512-kJ5TZsRJH/xYstG07v3YeOy/W5SDAEzV+bvvoL0aiG1HtqDmg4mJvNPnn/JngANMmsx8oXlJrIcBTCpJzm+9kg== -eslint-plugin-jest@^22.1.3: - version "22.1.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.1.3.tgz#4444108dfcddc5d2117ed6dc551f529d7e73a99e" - integrity sha512-JTZTI6WQoNruAugNyCO8fXfTONVcDd5i6dMRFA5g3rUFn1UDDLILY1bTL6alvNXbW2U7Sc2OSpi8m08pInnq0A== +eslint-plugin-jest@^22.2.2: + version "22.2.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.2.2.tgz#2a80d70a20c27dfb1503a6f32cdcb647fe5476df" + integrity sha512-hnWgh9o39VJfz6lJEyQJdTW7dN2yynlGkmPOlU/oMHh+d7WVMsJP1GeDTB520VCDljEdKExCwD5IBpQIUl4mJg== eslint-scope@^4.0.0: version "4.0.0" From a5e3d8bdb1aadeb2ea022fc874cef53a857ff4a1 Mon Sep 17 00:00:00 2001 From: Armano Date: Sun, 3 Feb 2019 00:16:17 +0100 Subject: [PATCH 2/2] test(ts-estree): use mocks instead of assignment for console.log --- packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts b/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts index 0cef3cb2a125..565b997c35fc 100644 --- a/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts +++ b/packages/typescript-estree/tests/lib/warn-on-unsupported-ts.ts @@ -11,8 +11,7 @@ describe('Warn on unsupported TypeScript version', () => { it('should warn the user if they are using an unsupported TypeScript version', () => { (semver.satisfies as jest.Mock).mockReturnValue(false); - // eslint-disable-next-line jest/prefer-spy-on - console.log = jest.fn(); + jest.spyOn(console, 'log').mockImplementation(); parser.parse(''); expect(console.log).toHaveBeenCalledWith( expect.stringContaining(