@@ -15,6 +15,88 @@ ruleTester.run('valid-expect-in-promise', rule, {
15
15
"test('something', () => Promise.resolve().then(() => expect(1).toBe(2)));" ,
16
16
'Promise.resolve().then(() => expect(1).toBe(2))' ,
17
17
'const x = Promise.resolve().then(() => expect(1).toBe(2))' ,
18
+ dedent `
19
+ it('is valid', async () => {
20
+ const promise = loadNumber().then(number => {
21
+ expect(typeof number).toBe('number');
22
+
23
+ return number + 1;
24
+ });
25
+
26
+ expect(await promise).toBeGreaterThan(1);
27
+ });
28
+ ` ,
29
+ dedent `
30
+ it('is valid', async () => {
31
+ const promise = loadNumber().then(number => {
32
+ expect(typeof number).toBe('number');
33
+
34
+ return number + 1;
35
+ });
36
+
37
+ expect(await promise).resolves.toBeGreaterThan(1);
38
+ });
39
+ ` ,
40
+ dedent `
41
+ it('is valid', async () => {
42
+ const promise = loadNumber().then(number => {
43
+ expect(typeof number).toBe('number');
44
+
45
+ return number + 1;
46
+ });
47
+
48
+ expect(1).toBeGreaterThan(await promise);
49
+ });
50
+ ` ,
51
+ dedent `
52
+ it('is valid', async () => {
53
+ const promise = loadNumber().then(number => {
54
+ expect(typeof number).toBe('number');
55
+
56
+ return number + 1;
57
+ });
58
+
59
+ expect.this.that.is(await promise);
60
+ });
61
+ ` ,
62
+ dedent `
63
+ it('is valid', async () => {
64
+ expect(await loadNumber().then(number => {
65
+ expect(typeof number).toBe('number');
66
+
67
+ return number + 1;
68
+ })).toBeGreaterThan(1);
69
+ });
70
+ ` ,
71
+ dedent `
72
+ it('is valid', async () => {
73
+ const promise = loadNumber().then(number => {
74
+ expect(typeof number).toBe('number');
75
+
76
+ return number + 1;
77
+ });
78
+
79
+ logValue(await promise);
80
+ });
81
+ ` ,
82
+ dedent `
83
+ it('is valid', async () => {
84
+ const promise = loadNumber().then(number => {
85
+ expect(typeof number).toBe('number');
86
+
87
+ return 1;
88
+ });
89
+
90
+ expect.assertions(await promise);
91
+ });
92
+ ` ,
93
+ dedent `
94
+ it('is valid', async () => {
95
+ await loadNumber().then(number => {
96
+ expect(typeof number).toBe('number');
97
+ });
98
+ });
99
+ ` ,
18
100
dedent `
19
101
it('it1', () => new Promise((done) => {
20
102
test()
@@ -1369,5 +1451,23 @@ ruleTester.run('valid-expect-in-promise', rule, {
1369
1451
} ,
1370
1452
] ,
1371
1453
} ,
1454
+ {
1455
+ code : dedent `
1456
+ test('that we error on this', () => {
1457
+ const promise = something().then(value => {
1458
+ expect(value).toBe('red');
1459
+ });
1460
+
1461
+ log(promise);
1462
+ });
1463
+ ` ,
1464
+ errors : [
1465
+ {
1466
+ messageId : 'expectInFloatingPromise' ,
1467
+ line : 2 ,
1468
+ column : 9 ,
1469
+ } ,
1470
+ ] ,
1471
+ } ,
1372
1472
] ,
1373
1473
} ) ;
0 commit comments