@clerk/testing
Version:
Utilities to help you create E2E test suites for apps using Clerk
2 lines • 1.26 kB
JavaScript
import{a as c,b as g,c as m,d as k}from"../chunk-3CTIIA3F.mjs";var w=async e=>{let{CLERK_FAPI:r,CLERK_TESTING_TOKEN:t}=await g(e);process.env.CLERK_FAPI=r,process.env.CLERK_TESTING_TOKEN=t};var s=async({page:e,options:r})=>{let t=r?.frontendApiUrl||process.env.CLERK_FAPI;if(!t)throw new Error(m);let P=`https://${t}/v1/**/*`;await e.route(P,async n=>{let o=new URL(n.request().url()),p=process.env.CLERK_TESTING_TOKEN;p&&o.searchParams.set(c,p);try{let l=await n.fetch({url:o.toString()}),a=await l.json();a?.response?.captcha_bypass===!1&&(a.response.captcha_bypass=!0),a?.client?.captcha_bypass===!1&&(a.client.captcha_bypass=!0),await n.fulfill({response:l,json:a})}catch{await n.continue({url:o.toString()}).catch(console.error)}})};var i=async({page:e})=>{await e.waitForFunction(()=>window.Clerk!==void 0),await e.waitForFunction(()=>window.Clerk.loaded)},C=async({page:e,signInParams:r,setupClerkTestingTokenOptions:t})=>{await s({page:e,options:t}),await i({page:e}),await e.evaluate(k,{signInParams:r})},y=async({page:e,signOutOptions:r})=>{await i({page:e}),await e.evaluate(async t=>{await window.Clerk.signOut(t)},r)},u={signIn:C,signOut:y,loaded:i};export{u as clerk,w as clerkSetup,s as setupClerkTestingToken};
//# sourceMappingURL=index.mjs.map