Skip to content

Commit 64ec9c1

Browse files
authored
fix(prefer-expect-assertions): report on concise arrow functions with expect call (#1225)
1 parent 828651b commit 64ec9c1

File tree

2 files changed

+28
-5
lines changed

2 files changed

+28
-5
lines changed

src/rules/__tests__/prefer-expect-assertions.test.ts

+22
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,28 @@ ruleTester.run('prefer-expect-assertions', rule, {
115115
},
116116
],
117117
},
118+
{
119+
code: "it('resolves', () => expect(staged()).toBe(true));",
120+
errors: [
121+
{
122+
messageId: 'haveExpectAssertions',
123+
column: 1,
124+
line: 1,
125+
suggestions: null,
126+
},
127+
],
128+
},
129+
{
130+
code: "it('resolves', async () => expect(await staged()).toBe(true));",
131+
errors: [
132+
{
133+
messageId: 'haveExpectAssertions',
134+
column: 1,
135+
line: 1,
136+
suggestions: null,
137+
},
138+
],
139+
},
118140
{
119141
code: 'it("it1", () => {})',
120142
errors: [

src/rules/prefer-expect-assertions.ts

+6-5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@ const isFirstStatement = (node: TSESTree.CallExpression): boolean => {
1616
return parent.parent.body[0] === parent;
1717
}
1818

19+
// if we've hit an arrow function, then it must have a single expression
20+
// as its body, as otherwise we would have hit the block statement already
21+
if (parent.parent?.type === AST_NODE_TYPES.ArrowFunctionExpression) {
22+
return true;
23+
}
24+
1925
parent = parent.parent;
2026
}
2127

@@ -52,11 +58,6 @@ type MessageIds =
5258
| 'suggestAddingAssertions'
5359
| 'suggestRemovingExtraArguments';
5460

55-
// const suggestions: Array<[MessageIds, string]> = [
56-
// ['suggestAddingHasAssertions', 'expect.hasAssertions();'],
57-
// ['suggestAddingAssertions', 'expect.assertions();'],
58-
// ];
59-
6061
export default createRule<[RuleOptions], MessageIds>({
6162
name: __filename,
6263
meta: {

0 commit comments

Comments
 (0)