@@ -15,6 +15,88 @@ ruleTester.run('valid-expect-in-promise', rule, {
1515 "test('something', () => Promise.resolve().then(() => expect(1).toBe(2)));" ,
1616 'Promise.resolve().then(() => expect(1).toBe(2))' ,
1717 '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+ ` ,
18100 dedent `
19101 it('it1', () => new Promise((done) => {
20102 test()
@@ -1369,5 +1451,23 @@ ruleTester.run('valid-expect-in-promise', rule, {
13691451 } ,
13701452 ] ,
13711453 } ,
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+ } ,
13721472 ] ,
13731473} ) ;
0 commit comments