@@ -571,6 +571,8 @@ ruleTester.run('valid-expect', rule, {
571571 // usages in async function
572572 {
573573 code : 'test("valid-expect", async () => { expect(Promise.resolve(2)).resolves.toBeDefined(); });' ,
574+ output :
575+ 'test("valid-expect", async () => { await expect(Promise.resolve(2)).resolves.toBeDefined(); });' ,
574576 errors : [
575577 {
576578 column : 36 ,
@@ -582,6 +584,8 @@ ruleTester.run('valid-expect', rule, {
582584 } ,
583585 {
584586 code : 'test("valid-expect", async () => { expect(Promise.resolve(2)).resolves.not.toBeDefined(); });' ,
587+ output :
588+ 'test("valid-expect", async () => { await expect(Promise.resolve(2)).resolves.not.toBeDefined(); });' ,
585589 errors : [
586590 {
587591 column : 36 ,
@@ -621,6 +625,12 @@ ruleTester.run('valid-expect', rule, {
621625 expect(Promise.resolve(1)).rejects.toBeDefined();
622626 });
623627 ` ,
628+ output : dedent `
629+ test("valid-expect", async () => {
630+ await expect(Promise.resolve(2)).resolves.not.toBeDefined();
631+ await expect(Promise.resolve(1)).rejects.toBeDefined();
632+ });
633+ ` ,
624634 errors : [
625635 {
626636 line : 2 ,
@@ -646,6 +656,12 @@ ruleTester.run('valid-expect', rule, {
646656 expect(Promise.resolve(1)).rejects.toBeDefined();
647657 });
648658 ` ,
659+ output : dedent `
660+ test("valid-expect", async () => {
661+ await expect(Promise.resolve(2)).resolves.not.toBeDefined();
662+ await expect(Promise.resolve(1)).rejects.toBeDefined();
663+ });
664+ ` ,
649665 errors : [
650666 {
651667 line : 3 ,
@@ -667,6 +683,12 @@ ruleTester.run('valid-expect', rule, {
667683 return expect(Promise.resolve(1)).rejects.toBeDefined();
668684 });
669685 ` ,
686+ output : dedent `
687+ test("valid-expect", async () => {
688+ await expect(Promise.resolve(2)).resolves.not.toBeDefined();
689+ await expect(Promise.resolve(1)).rejects.toBeDefined();
690+ });
691+ ` ,
670692 options : [ { alwaysAwait : true } ] ,
671693 errors : [
672694 {
@@ -691,6 +713,12 @@ ruleTester.run('valid-expect', rule, {
691713 return expect(Promise.resolve(1)).rejects.toBeDefined();
692714 });
693715 ` ,
716+ output : dedent `
717+ test("valid-expect", async () => {
718+ await expect(Promise.resolve(2)).resolves.not.toBeDefined();
719+ return expect(Promise.resolve(1)).rejects.toBeDefined();
720+ });
721+ ` ,
694722 errors : [
695723 {
696724 line : 2 ,
@@ -709,6 +737,12 @@ ruleTester.run('valid-expect', rule, {
709737 return expect(Promise.resolve(1)).rejects.toBeDefined();
710738 });
711739 ` ,
740+ output : dedent `
741+ test("valid-expect", async () => {
742+ await expect(Promise.resolve(2)).resolves.not.toBeDefined();
743+ await expect(Promise.resolve(1)).rejects.toBeDefined();
744+ });
745+ ` ,
712746 options : [ { alwaysAwait : true } ] ,
713747 errors : [
714748 {
@@ -726,6 +760,12 @@ ruleTester.run('valid-expect', rule, {
726760 return expect(Promise.resolve(1)).toReject();
727761 });
728762 ` ,
763+ output : dedent `
764+ test("valid-expect", async () => {
765+ await expect(Promise.resolve(2)).toResolve();
766+ await expect(Promise.resolve(1)).toReject();
767+ });
768+ ` ,
729769 options : [ { alwaysAwait : true } ] ,
730770 errors : [
731771 {
@@ -771,6 +811,27 @@ ruleTester.run('valid-expect', rule, {
771811 } ,
772812 ] ,
773813 } ,
814+ {
815+ code : dedent `
816+ test("valid-expect", async () => {
817+ Promise.reject(expect(Promise.resolve(2)).resolves.not.toBeDefined());
818+ });
819+ ` ,
820+ output : dedent `
821+ test("valid-expect", async () => {
822+ await Promise.reject(expect(Promise.resolve(2)).resolves.not.toBeDefined());
823+ });
824+ ` ,
825+ errors : [
826+ {
827+ line : 2 ,
828+ column : 3 ,
829+ endColumn : 72 ,
830+ messageId : 'promisesWithAsyncAssertionsMustBeAwaited' ,
831+ data : { orReturned : ' or returned' } ,
832+ } ,
833+ ] ,
834+ } ,
774835 {
775836 code : dedent `
776837 test("valid-expect", () => {
@@ -961,6 +1022,14 @@ ruleTester.run('valid-expect', rule, {
9611022 });
9621023 });
9631024 ` ,
1025+ output : dedent `
1026+ test("valid-expect", () => {
1027+ return expect(functionReturningAPromise()).resolves.toEqual(1).then(async () => {
1028+ await expect(Promise.resolve(2)).resolves.toBe(1);
1029+ await expect(Promise.resolve(4)).resolves.toBe(4);
1030+ });
1031+ });
1032+ ` ,
9641033 errors : [
9651034 {
9661035 line : 4 ,
0 commit comments