Skip to content

Commit 50acbfb

Browse files
committed
docs(prefer-hooks-on-top): improve code example
1 parent 1b842d1 commit 50acbfb

File tree

1 file changed

+67
-47
lines changed

1 file changed

+67
-47
lines changed

docs/rules/prefer-hooks-on-top.md

Lines changed: 67 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -11,47 +11,51 @@ Examples of **incorrect** code for this rule
1111

1212
describe('foo', () => {
1313
beforeEach(() => {
14-
//some hook code
14+
seedMyDatabase();
1515
});
16-
test('bar', () => {
17-
some_fn();
18-
});
19-
beforeAll(() => {
20-
//some hook code
21-
});
22-
test('bar', () => {
23-
some_fn();
16+
17+
it('accepts this input', () => {
18+
// ...
2419
});
25-
});
2620

27-
// Nested describe scenario
28-
describe('foo', () => {
2921
beforeAll(() => {
30-
//some hook code
22+
createMyDatabase();
3123
});
32-
test('bar', () => {
33-
some_fn();
24+
25+
it('returns that value', () => {
26+
// ...
3427
});
35-
describe('inner_foo', () => {
28+
29+
describe('when the database has specific values', () => {
30+
const specificValue = '...';
31+
3632
beforeEach(() => {
37-
//some hook code
33+
seedMyDatabase(specificValue);
3834
});
39-
test('inner bar', () => {
40-
some_fn();
35+
36+
it('accepts that input', () => {
37+
// ...
4138
});
42-
test('inner bar', () => {
43-
some_fn();
39+
40+
it('throws an error', () => {
41+
// ...
4442
});
45-
beforeAll(() => {
46-
//some hook code
43+
44+
afterEach(() => {
45+
clearLogger();
4746
});
48-
afterAll(() => {
49-
//some hook code
47+
beforeEach(() => {
48+
mockLogger();
5049
});
51-
test('inner bar', () => {
52-
some_fn();
50+
51+
it('logs a message', () => {
52+
// ...
5353
});
5454
});
55+
56+
afterAll(() => {
57+
removeMyDatabase();
58+
});
5559
});
5660
```
5761

@@ -61,35 +65,51 @@ Examples of **correct** code for this rule
6165
/* eslint jest/prefer-hooks-on-top: "error" */
6266

6367
describe('foo', () => {
64-
beforeEach(() => {
65-
//some hook code
68+
beforeAll(() => {
69+
createMyDatabase();
6670
});
6771

68-
// Not affected by rule
69-
someSetup();
70-
71-
afterEach(() => {
72-
//some hook code
72+
beforeEach(() => {
73+
seedMyDatabase();
7374
});
74-
test('bar', () => {
75-
some_fn();
75+
76+
afterAll(() => {
77+
clearMyDatabase();
7678
});
77-
});
7879

79-
// Nested describe scenario
80-
describe('foo', () => {
81-
beforeEach(() => {
82-
//some hook code
80+
it('accepts this input', () => {
81+
// ...
8382
});
84-
test('bar', () => {
85-
some_fn();
83+
84+
it('returns that value', () => {
85+
// ...
8686
});
87-
describe('inner_foo', () => {
87+
88+
describe('when the database has specific values', () => {
89+
const specificValue = '...';
90+
91+
beforeEach(() => {
92+
seedMyDatabase(specificValue);
93+
});
94+
8895
beforeEach(() => {
89-
//some hook code
96+
mockLogger();
9097
});
91-
test('inner bar', () => {
92-
some_fn();
98+
99+
afterEach(() => {
100+
clearLogger();
101+
});
102+
103+
it('accepts that input', () => {
104+
// ...
105+
});
106+
107+
it('throws an error', () => {
108+
// ...
109+
});
110+
111+
it('logs a message', () => {
112+
// ...
93113
});
94114
});
95115
});

0 commit comments

Comments
 (0)