File tree Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Expand file tree Collapse file tree 2 files changed +14
-3
lines changed Original file line number Diff line number Diff line change @@ -622,9 +622,7 @@ type VitestAssertion<A, T> = {
622622
623623type Promisify < O > = {
624624 [ K in keyof O ] : O [ K ] extends ( ...args : infer A ) => infer R
625- ? O extends R
626- ? Promisify < O [ K ] >
627- : ( ...args : A ) => Promise < R >
625+ ? Promisify < O [ K ] > & ( ( ...args : A ) => Promise < R > )
628626 : O [ K ] ;
629627}
630628
Original file line number Diff line number Diff line change @@ -1172,6 +1172,19 @@ describe('async expect', () => {
11721172 expect ( error ) . toMatchObject ( { message : 'promise rejected "+0" instead of resolving' } )
11731173 }
11741174 } )
1175+
1176+ it ( 'chainable types' , async ( ) => {
1177+ /* eslint-disable prefer-promise-reject-errors */
1178+ await expect ( Promise . resolve ( 1 ) ) . resolves . toBeOneOf ( [ 1 ] )
1179+ await expect ( Promise . resolve ( 1 ) ) . resolves . not . toBeOneOf ( [ 2 ] )
1180+ await expect ( Promise . reject ( 1 ) ) . rejects . toBeOneOf ( [ 1 ] )
1181+ await expect ( Promise . reject ( 1 ) ) . rejects . not . toBeOneOf ( [ 2 ] )
1182+ await expect ( Promise . resolve ( 1 ) ) . resolves . toSatisfy ( v => v === 1 )
1183+ await expect ( Promise . reject ( 2 ) ) . rejects . toSatisfy ( v => v === 2 )
1184+ await ( expect ( Promise . resolve ( 1 ) ) . resolves . to . equal ( 1 ) satisfies Promise < any > )
1185+ await ( expect ( Promise . resolve ( 1 ) ) . resolves . not . to . equal ( 2 ) satisfies Promise < any > )
1186+ /* eslint-enable prefer-promise-reject-errors */
1187+ } )
11751188} )
11761189
11771190it ( 'compatible with jest' , ( ) => {
You can’t perform that action at this time.
0 commit comments