File tree Expand file tree Collapse file tree 6 files changed +560
-1
lines changed
Expand file tree Collapse file tree 6 files changed +560
-1
lines changed Original file line number Diff line number Diff line change @@ -374,6 +374,7 @@ Manually fixable by
374374| [ prefer-jest-mocked] ( docs/rules/prefer-jest-mocked.md ) | Prefer ` jest.mocked() ` over ` fn as jest.Mock ` | | | 🔧 | |
375375| [ prefer-lowercase-title] ( docs/rules/prefer-lowercase-title.md ) | Enforce lowercase test names | | | 🔧 | |
376376| [ prefer-mock-promise-shorthand] ( docs/rules/prefer-mock-promise-shorthand.md ) | Prefer mock resolved/rejected shorthands for promises | | | 🔧 | |
377+ | [ prefer-mock-return-shorthand] ( docs/rules/prefer-mock-return-shorthand.md ) | Prefer mock return shorthands | | | 🔧 | |
377378| [ prefer-snapshot-hint] ( docs/rules/prefer-snapshot-hint.md ) | Prefer including a hint with external snapshots | | | | |
378379| [ prefer-spy-on] ( docs/rules/prefer-spy-on.md ) | Suggest using ` jest.spyOn() ` | | | 🔧 | |
379380| [ prefer-strict-equal] ( docs/rules/prefer-strict-equal.md ) | Suggest using ` toStrictEqual() ` | | | | 💡 |
Original file line number Diff line number Diff line change 1+ # Prefer mock return shorthands (` prefer-mock-return-shorthand ` )
2+
3+ 🔧 This rule is automatically fixable by the
4+ [ ` --fix ` CLI option] ( https://eslint.org/docs/latest/user-guide/command-line-interface#--fix ) .
5+
6+ <!-- end auto-generated rule header -->
7+
8+ When working with mocks of functions that return simple values, Jest provides
9+ some API sugar functions to reduce the amount of boilerplate you have to write.
10+
11+ These methods should be preferred when possible.
12+
13+ ## Rule details
14+
15+ The following patterns are warnings:
16+
17+ ``` js
18+ jest .fn ().mockImplementation (() => ' hello world' );
19+
20+ jest
21+ .spyOn (fs .promises , ' readFile' )
22+ .mockImplementationOnce (() => Promise .reject (new Error (' oh noes!' )));
23+
24+ myFunction
25+ .mockImplementationOnce (() => 42 )
26+ .mockImplementationOnce (() => Promise .resolve (42 ))
27+ .mockReturnValue (0 );
28+ ```
29+
30+ The following patterns are not warnings:
31+
32+ ``` js
33+ jest .fn ().mockResolvedValue (123 );
34+
35+ jest
36+ .spyOn (fs .promises , ' readFile' )
37+ .mockReturnValue (Promise .reject (new Error (' oh noes!' )));
38+ jest .spyOn (fs .promises , ' readFile' ).mockRejectedValue (new Error (' oh noes!' ));
39+
40+ jest .spyOn (fs, ' readFileSync' ).mockImplementationOnce (() => {
41+ throw new Error (' oh noes!' );
42+ });
43+
44+ myFunction
45+ .mockResolvedValueOnce (42 )
46+ .mockResolvedValueOnce (42 )
47+ .mockReturnValue (0 );
48+ ```
Original file line number Diff line number Diff line change @@ -61,6 +61,7 @@ exports[`rules should export configs that refer to actual rules 1`] = `
6161 " jest/prefer-jest-mocked" : " error" ,
6262 " jest/prefer-lowercase-title" : " error" ,
6363 " jest/prefer-mock-promise-shorthand" : " error" ,
64+ " jest/prefer-mock-return-shorthand" : " error" ,
6465 " jest/prefer-snapshot-hint" : " error" ,
6566 " jest/prefer-spy-on" : " error" ,
6667 " jest/prefer-strict-equal" : " error" ,
@@ -160,6 +161,7 @@ exports[`rules should export configs that refer to actual rules 1`] = `
160161 " jest/prefer-jest-mocked" : " error" ,
161162 " jest/prefer-lowercase-title" : " error" ,
162163 " jest/prefer-mock-promise-shorthand" : " error" ,
164+ " jest/prefer-mock-return-shorthand" : " error" ,
163165 " jest/prefer-snapshot-hint" : " error" ,
164166 " jest/prefer-spy-on" : " error" ,
165167 " jest/prefer-strict-equal" : " error" ,
Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ import { existsSync } from 'fs';
22import { resolve } from 'path' ;
33import plugin from '../' ;
44
5- const numberOfRules = 70 ;
5+ const numberOfRules = 71 ;
66const ruleNames = Object . keys ( plugin . rules ) ;
77const deprecatedRules = Object . entries ( plugin . rules )
88 . filter ( ( [ , rule ] ) => rule . meta . deprecated )
You can’t perform that action at this time.
0 commit comments