Skip to content

Commit ae8ecac

Browse files
committed
fix: valid-expect logic
1 parent 58c4046 commit ae8ecac

File tree

2 files changed

+188
-19
lines changed

2 files changed

+188
-19
lines changed

src/rules/__tests__/valid-expect.test.ts

+166-2
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,11 @@ ruleTester.run('valid-expect', rule, {
436436
});
437437
`,
438438
errors: [
439+
{
440+
column: 12,
441+
endColumn: 4,
442+
messageId: 'asyncMustBeAwaited',
443+
},
439444
{
440445
column: 9,
441446
endColumn: 43,
@@ -463,6 +468,11 @@ ruleTester.run('valid-expect', rule, {
463468
});
464469
`,
465470
errors: [
471+
{
472+
column: 12,
473+
endColumn: 4,
474+
messageId: 'asyncMustBeAwaited',
475+
},
466476
{
467477
column: 9,
468478
endColumn: 43,
@@ -494,6 +504,11 @@ ruleTester.run('valid-expect', rule, {
494504
});
495505
`,
496506
errors: [
507+
{
508+
column: 12,
509+
endColumn: 4,
510+
messageId: 'asyncMustBeAwaited',
511+
},
497512
{
498513
column: 9,
499514
endColumn: 43,
@@ -508,6 +523,12 @@ ruleTester.run('valid-expect', rule, {
508523
output:
509524
'test("valid-expect", async () => { await expect(Promise.resolve(2)).resolves.toBeDefined(); });',
510525
errors: [
526+
{
527+
column: 22,
528+
endColumn: 82,
529+
messageId: 'asyncMustBeAwaited',
530+
data: { orReturned: ' or returned' },
531+
},
511532
{
512533
column: 30,
513534
endColumn: 79,
@@ -521,6 +542,12 @@ ruleTester.run('valid-expect', rule, {
521542
output:
522543
'test("valid-expect", async () => { await expect(Promise.resolve(2)).toResolve(); });',
523544
errors: [
545+
{
546+
messageId: 'asyncMustBeAwaited',
547+
data: { orReturned: ' or returned' },
548+
column: 22,
549+
line: 1,
550+
},
524551
{
525552
messageId: 'asyncMustBeAwaited',
526553
data: { orReturned: ' or returned' },
@@ -535,6 +562,12 @@ ruleTester.run('valid-expect', rule, {
535562
'test("valid-expect", async () => { await expect(Promise.resolve(2)).toResolve(); });',
536563
options: [{ asyncMatchers: undefined }],
537564
errors: [
565+
{
566+
messageId: 'asyncMustBeAwaited',
567+
data: { orReturned: ' or returned' },
568+
column: 22,
569+
line: 1,
570+
},
538571
{
539572
messageId: 'asyncMustBeAwaited',
540573
data: { orReturned: ' or returned' },
@@ -548,6 +581,12 @@ ruleTester.run('valid-expect', rule, {
548581
output:
549582
'test("valid-expect", async () => { await expect(Promise.resolve(2)).toReject(); });',
550583
errors: [
584+
{
585+
messageId: 'asyncMustBeAwaited',
586+
data: { orReturned: ' or returned' },
587+
column: 22,
588+
line: 1,
589+
},
551590
{
552591
messageId: 'asyncMustBeAwaited',
553592
data: { orReturned: ' or returned' },
@@ -561,6 +600,12 @@ ruleTester.run('valid-expect', rule, {
561600
output:
562601
'test("valid-expect", async () => { await expect(Promise.resolve(2)).not.toReject(); });',
563602
errors: [
603+
{
604+
messageId: 'asyncMustBeAwaited',
605+
data: { orReturned: ' or returned' },
606+
column: 22,
607+
line: 1,
608+
},
564609
{
565610
messageId: 'asyncMustBeAwaited',
566611
data: { orReturned: ' or returned' },
@@ -575,6 +620,12 @@ ruleTester.run('valid-expect', rule, {
575620
output:
576621
'test("valid-expect", async () => { await expect(Promise.resolve(2)).resolves.not.toBeDefined(); });',
577622
errors: [
623+
{
624+
column: 22,
625+
endColumn: 86,
626+
messageId: 'asyncMustBeAwaited',
627+
data: { orReturned: ' or returned' },
628+
},
578629
{
579630
column: 30,
580631
endColumn: 83,
@@ -589,6 +640,12 @@ ruleTester.run('valid-expect', rule, {
589640
output:
590641
'test("valid-expect", async () => { await expect(Promise.resolve(2)).rejects.toBeDefined(); });',
591642
errors: [
643+
{
644+
column: 22,
645+
endColumn: 81,
646+
messageId: 'asyncMustBeAwaited',
647+
data: { orReturned: ' or returned' },
648+
},
592649
{
593650
column: 30,
594651
endColumn: 78,
@@ -603,6 +660,12 @@ ruleTester.run('valid-expect', rule, {
603660
output:
604661
'test("valid-expect", async () => { await expect(Promise.resolve(2)).rejects.not.toBeDefined(); });',
605662
errors: [
663+
{
664+
column: 22,
665+
endColumn: 85,
666+
messageId: 'asyncMustBeAwaited',
667+
data: { orReturned: ' or returned' },
668+
},
606669
{
607670
column: 30,
608671
endColumn: 82,
@@ -644,6 +707,11 @@ ruleTester.run('valid-expect', rule, {
644707
'test("valid-expect", async () => { await expect(Promise.reject(2)).toRejectWith(2); });',
645708
options: [{ asyncMatchers: ['toRejectWith'] }],
646709
errors: [
710+
{
711+
messageId: 'asyncMustBeAwaited',
712+
data: { orReturned: ' or returned' },
713+
column: 22,
714+
},
647715
{
648716
messageId: 'asyncMustBeAwaited',
649717
data: { orReturned: ' or returned' },
@@ -657,6 +725,11 @@ ruleTester.run('valid-expect', rule, {
657725
'test("valid-expect", async () => { await expect(Promise.reject(2)).rejects.toBe(2); });',
658726
options: [{ asyncMatchers: ['toRejectWith'] }],
659727
errors: [
728+
{
729+
messageId: 'asyncMustBeAwaited',
730+
data: { orReturned: ' or returned' },
731+
column: 22,
732+
},
660733
{
661734
messageId: 'asyncMustBeAwaited',
662735
data: { orReturned: ' or returned' },
@@ -838,6 +911,13 @@ ruleTester.run('valid-expect', rule, {
838911
});
839912
`,
840913
errors: [
914+
{
915+
line: 1,
916+
column: 22,
917+
endColumn: 2,
918+
messageId: 'promisesWithAsyncAssertionsMustBeAwaited',
919+
data: { orReturned: ' or returned' },
920+
},
841921
{
842922
line: 2,
843923
column: 3,
@@ -859,6 +939,13 @@ ruleTester.run('valid-expect', rule, {
859939
});
860940
`,
861941
errors: [
942+
{
943+
line: 1,
944+
column: 22,
945+
endColumn: 2,
946+
messageId: 'promisesWithAsyncAssertionsMustBeAwaited',
947+
data: { orReturned: ' or returned' },
948+
},
862949
{
863950
line: 2,
864951
column: 3,
@@ -901,6 +988,13 @@ ruleTester.run('valid-expect', rule, {
901988
});
902989
`,
903990
errors: [
991+
{
992+
line: 1,
993+
column: 22,
994+
endColumn: 2,
995+
messageId: 'promisesWithAsyncAssertionsMustBeAwaited',
996+
data: { orReturned: ' or returned' },
997+
},
904998
{
905999
line: 2,
9061000
column: 3,
@@ -924,6 +1018,12 @@ ruleTester.run('valid-expect', rule, {
9241018
`,
9251019
options: [{ alwaysAwait: true }],
9261020
errors: [
1021+
{
1022+
line: 1,
1023+
column: 22,
1024+
endColumn: 2,
1025+
messageId: 'promisesWithAsyncAssertionsMustBeAwaited',
1026+
},
9271027
{
9281028
line: 2,
9291029
column: 3,
@@ -951,6 +1051,14 @@ ruleTester.run('valid-expect', rule, {
9511051
});
9521052
`,
9531053
errors: [
1054+
{
1055+
line: 1,
1056+
column: 22,
1057+
endLine: 6,
1058+
endColumn: 2,
1059+
messageId: 'promisesWithAsyncAssertionsMustBeAwaited',
1060+
data: { orReturned: ' or returned' },
1061+
},
9541062
{
9551063
line: 2,
9561064
column: 3,
@@ -980,6 +1088,14 @@ ruleTester.run('valid-expect', rule, {
9801088
});
9811089
`,
9821090
errors: [
1091+
{
1092+
line: 1,
1093+
column: 22,
1094+
endLine: 6,
1095+
endColumn: 2,
1096+
messageId: 'promisesWithAsyncAssertionsMustBeAwaited',
1097+
data: { orReturned: ' or returned' },
1098+
},
9831099
{
9841100
line: 2,
9851101
column: 3,
@@ -1008,6 +1124,22 @@ ruleTester.run('valid-expect', rule, {
10081124
});
10091125
`,
10101126
errors: [
1127+
{
1128+
line: 1,
1129+
column: 22,
1130+
endLine: 6,
1131+
endColumn: 2,
1132+
messageId: 'asyncMustBeAwaited',
1133+
data: { orReturned: ' or returned' },
1134+
},
1135+
{
1136+
line: 1,
1137+
column: 22,
1138+
endLine: 6,
1139+
endColumn: 2,
1140+
messageId: 'asyncMustBeAwaited',
1141+
data: { orReturned: ' or returned' },
1142+
},
10111143
{
10121144
line: 3,
10131145
column: 5,
@@ -1038,12 +1170,24 @@ ruleTester.run('valid-expect', rule, {
10381170
output: dedent`
10391171
test("valid-expect", async () => {
10401172
const assertions = [
1041-
expect(Promise.resolve(2)).toResolve(),
1042-
expect(Promise.resolve(3)).toReject(),
1173+
await expect(Promise.resolve(2)).toResolve(),
1174+
await expect(Promise.resolve(3)).toReject(),
10431175
]
10441176
});
10451177
`,
10461178
errors: [
1179+
{
1180+
messageId: 'asyncMustBeAwaited',
1181+
data: { orReturned: ' or returned' },
1182+
column: 22,
1183+
line: 1,
1184+
},
1185+
{
1186+
messageId: 'asyncMustBeAwaited',
1187+
data: { orReturned: ' or returned' },
1188+
column: 22,
1189+
line: 1,
1190+
},
10471191
{
10481192
messageId: 'asyncMustBeAwaited',
10491193
data: { orReturned: ' or returned' },
@@ -1076,6 +1220,18 @@ ruleTester.run('valid-expect', rule, {
10761220
});
10771221
`,
10781222
errors: [
1223+
{
1224+
messageId: 'asyncMustBeAwaited',
1225+
data: { orReturned: ' or returned' },
1226+
column: 22,
1227+
line: 1,
1228+
},
1229+
{
1230+
messageId: 'asyncMustBeAwaited',
1231+
data: { orReturned: ' or returned' },
1232+
column: 22,
1233+
line: 1,
1234+
},
10791235
{
10801236
messageId: 'asyncMustBeAwaited',
10811237
data: { orReturned: ' or returned' },
@@ -1116,6 +1272,14 @@ ruleTester.run('valid-expect', rule, {
11161272
});
11171273
`,
11181274
errors: [
1275+
{
1276+
line: 2,
1277+
column: 71,
1278+
endLine: 4,
1279+
endColumn: 4,
1280+
messageId: 'asyncMustBeAwaited',
1281+
data: { orReturned: ' or returned' },
1282+
},
11191283
{
11201284
line: 3,
11211285
column: 5,

0 commit comments

Comments
 (0)