@@ -4,7 +4,8 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
44import { ERROR_MISSING_FRONTEND_API_URL } from '../../common/errors' ;
55
66// We need to reset the module-level WeakSet between tests
7- let setupClerkTestingToken : typeof import ( '../setupClerkTestingToken' ) . setupClerkTestingToken ;
7+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports
8+ let setupClerkTestingToken : ( typeof import ( '../setupClerkTestingToken' ) ) [ 'setupClerkTestingToken' ] ;
89
910function createMockRoute ( overrides : { url ?: string ; fetchStatus ?: number ; fetchJson ?: unknown ; fetchError ?: Error } = { } ) {
1011 const {
@@ -23,20 +24,21 @@ function createMockRoute(overrides: { url?: string; fetchStatus?: number; fetchJ
2324 ( {
2425 url : ( ) => url ,
2526 } ) as unknown as Request ,
26- fetch : vi . fn ( async ( ) => {
27+ fetch : vi . fn ( ( ) => {
2728 fetchCallCount ++ ;
2829 if ( fetchError ) {
29- throw fetchError ;
30+ return Promise . reject ( fetchError ) ;
3031 }
31- return {
32+ return Promise . resolve ( {
3233 status : ( ) => fetchStatus ,
33- json : async ( ) => JSON . parse ( JSON . stringify ( fetchJson ) ) ,
34- } ;
34+ json : ( ) => Promise . resolve ( JSON . parse ( JSON . stringify ( fetchJson ) ) ) ,
35+ } ) ;
3536 } ) ,
36- fulfill : vi . fn ( async ( opts : any ) => {
37+ fulfill : vi . fn ( ( opts : any ) => {
3738 fulfilled . push ( opts ) ;
39+ return Promise . resolve ( ) ;
3840 } ) ,
39- continue : vi . fn ( async ( ) => { } ) ,
41+ continue : vi . fn ( ( ) => Promise . resolve ( ) ) ,
4042 } as unknown as Route ;
4143
4244 return { route, fulfilled, continued, getFetchCallCount : ( ) => fetchCallCount } ;
@@ -46,8 +48,9 @@ function createMockContext() {
4648 let routeHandler : ( ( route : Route ) => Promise < void > ) | undefined ;
4749
4850 const context = {
49- route : vi . fn ( async ( _pattern : RegExp , handler : ( route : Route ) => Promise < void > ) => {
51+ route : vi . fn ( ( _pattern : RegExp , handler : ( route : Route ) => Promise < void > ) => {
5052 routeHandler = handler ;
53+ return Promise . resolve ( ) ;
5154 } ) ,
5255 } as unknown as BrowserContext ;
5356
@@ -201,22 +204,21 @@ describe('setupClerkTestingToken', () => {
201204 let callCount = 0 ;
202205 const route = {
203206 request : ( ) => ( { url : ( ) => 'https://clerk.example.com/v1/client' } ) ,
204- fetch : vi . fn ( async ( ) => {
207+ fetch : vi . fn ( ( ) => {
205208 callCount ++ ;
206209 if ( callCount <= 2 ) {
207- return { status : ( ) => 429 , json : async ( ) => ( { } ) } ;
210+ return Promise . resolve ( { status : ( ) => 429 , json : ( ) => Promise . resolve ( { } ) } ) ;
208211 }
209- return {
212+ return Promise . resolve ( {
210213 status : ( ) => 200 ,
211- json : async ( ) => ( { response : { captcha_bypass : false } } ) ,
212- } ;
214+ json : ( ) => Promise . resolve ( { response : { captcha_bypass : false } } ) ,
215+ } ) ;
213216 } ) ,
214- fulfill : vi . fn ( ) ,
215- continue : vi . fn ( ) ,
217+ fulfill : vi . fn ( ( ) => Promise . resolve ( ) ) ,
218+ continue : vi . fn ( ( ) => Promise . resolve ( ) ) ,
216219 } as unknown as Route ;
217220
218221 const handlerPromise = getRouteHandler ( ) ! ( route ) ;
219- // Advance through retry delays
220222 await vi . advanceTimersByTimeAsync ( 60_000 ) ;
221223 await handlerPromise ;
222224
@@ -231,18 +233,18 @@ describe('setupClerkTestingToken', () => {
231233 let callCount = 0 ;
232234 const route = {
233235 request : ( ) => ( { url : ( ) => 'https://clerk.example.com/v1/client' } ) ,
234- fetch : vi . fn ( async ( ) => {
236+ fetch : vi . fn ( ( ) => {
235237 callCount ++ ;
236238 if ( callCount === 1 ) {
237- return { status : ( ) => status , json : async ( ) => ( { } ) } ;
239+ return Promise . resolve ( { status : ( ) => status , json : ( ) => Promise . resolve ( { } ) } ) ;
238240 }
239- return {
241+ return Promise . resolve ( {
240242 status : ( ) => 200 ,
241- json : async ( ) => ( { response : { captcha_bypass : false } } ) ,
242- } ;
243+ json : ( ) => Promise . resolve ( { response : { captcha_bypass : false } } ) ,
244+ } ) ;
243245 } ) ,
244- fulfill : vi . fn ( ) ,
245- continue : vi . fn ( ) ,
246+ fulfill : vi . fn ( ( ) => Promise . resolve ( ) ) ,
247+ continue : vi . fn ( ( ) => Promise . resolve ( ) ) ,
246248 } as unknown as Route ;
247249
248250 const handlerPromise = getRouteHandler ( ) ! ( route ) ;
@@ -272,12 +274,14 @@ describe('setupClerkTestingToken', () => {
272274
273275 const route = {
274276 request : ( ) => ( { url : ( ) => 'https://clerk.example.com/v1/client' } ) ,
275- fetch : vi . fn ( async ( ) => ( {
276- status : ( ) => 429 ,
277- json : async ( ) => ( { } ) ,
278- } ) ) ,
279- fulfill : vi . fn ( ) ,
280- continue : vi . fn ( ) ,
277+ fetch : vi . fn ( ( ) =>
278+ Promise . resolve ( {
279+ status : ( ) => 429 ,
280+ json : ( ) => Promise . resolve ( { } ) ,
281+ } ) ,
282+ ) ,
283+ fulfill : vi . fn ( ( ) => Promise . resolve ( ) ) ,
284+ continue : vi . fn ( ( ) => Promise . resolve ( ) ) ,
281285 } as unknown as Route ;
282286
283287 const handlerPromise = getRouteHandler ( ) ! ( route ) ;
@@ -302,11 +306,9 @@ describe('setupClerkTestingToken', () => {
302306 const networkError = new Error ( 'net::ERR_CONNECTION_REFUSED' ) ;
303307 const route = {
304308 request : ( ) => ( { url : ( ) => 'https://clerk.example.com/v1/client' } ) ,
305- fetch : vi . fn ( async ( ) => {
306- throw networkError ;
307- } ) ,
308- fulfill : vi . fn ( async ( ) => { } ) ,
309- continue : vi . fn ( async ( ) => { } ) ,
309+ fetch : vi . fn ( ( ) => Promise . reject ( networkError ) ) ,
310+ fulfill : vi . fn ( ( ) => Promise . resolve ( ) ) ,
311+ continue : vi . fn ( ( ) => Promise . resolve ( ) ) ,
310312 } as unknown as Route ;
311313
312314 const handlerPromise = getRouteHandler ( ) ! ( route ) ;
@@ -331,18 +333,18 @@ describe('setupClerkTestingToken', () => {
331333 let callCount = 0 ;
332334 const route = {
333335 request : ( ) => ( { url : ( ) => 'https://clerk.example.com/v1/client' } ) ,
334- fetch : vi . fn ( async ( ) => {
336+ fetch : vi . fn ( ( ) => {
335337 callCount ++ ;
336338 if ( callCount === 1 ) {
337- throw new Error ( 'network error' ) ;
339+ return Promise . reject ( new Error ( 'network error' ) ) ;
338340 }
339- return {
341+ return Promise . resolve ( {
340342 status : ( ) => 200 ,
341- json : async ( ) => ( { response : { captcha_bypass : false } } ) ,
342- } ;
343+ json : ( ) => Promise . resolve ( { response : { captcha_bypass : false } } ) ,
344+ } ) ;
343345 } ) ,
344- fulfill : vi . fn ( ) ,
345- continue : vi . fn ( ) ,
346+ fulfill : vi . fn ( ( ) => Promise . resolve ( ) ) ,
347+ continue : vi . fn ( ( ) => Promise . resolve ( ) ) ,
346348 } as unknown as Route ;
347349
348350 const handlerPromise = getRouteHandler ( ) ! ( route ) ;
0 commit comments