Skip to content

Commit e4e75de

Browse files
authored
chore(e2e): Run keyless e2e tests in staging database (#5078)
1 parent 1f8ebfb commit e4e75de

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

integration/models/applicationConfig.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ export const applicationConfig = () => {
170170
[...env.privateVariables]
171171
.filter(([_, v]) => v)
172172
.map(([k, v]) => `${envFormatters.private(k)}=${v}`)
173-
.join('\n'),
173+
.join('\n') +
174+
'\n',
174175
);
175176
};
176177
return defaultWriter;

integration/presets/envs.ts

+6-1
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,16 @@ export const instanceKeys = getInstanceKeys();
2424

2525
const base = environmentConfig()
2626
.setEnvVariable('public', 'CLERK_TELEMETRY_DISABLED', true)
27+
.setEnvVariable('public', 'CLERK_KEYLESS_DISABLED', true)
2728
.setEnvVariable('public', 'CLERK_SIGN_IN_URL', '/sign-in')
2829
.setEnvVariable('public', 'CLERK_SIGN_UP_URL', '/sign-up')
2930
.setEnvVariable('public', 'CLERK_JS_URL', constants.E2E_APP_CLERK_JS || 'http://localhost:18211/clerk.browser.js');
3031

31-
const withKeyless = base.clone().setEnvVariable('public', 'CLERK_ENABLE_KEYLESS', true);
32+
const withKeyless = base
33+
.clone()
34+
// Creates keyless applications in our staging database.
35+
.setEnvVariable('private', 'CLERK_API_URL', 'https://api.clerkstage.dev')
36+
.setEnvVariable('public', 'CLERK_KEYLESS_DISABLED', false);
3237

3338
const withEmailCodes = base
3439
.clone()

integration/tests/next-quickstart-keyless.test.ts

+8-6
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,15 @@ const mockClaimedInstanceEnvironmentCall = async (page: Page) => {
2525
test.describe('Keyless mode @quickstart', () => {
2626
test.describe.configure({ mode: 'serial' });
2727
let app: Application;
28+
let dashboardUrl = 'https://dashboard.clerk.com/';
2829

2930
test.beforeAll(async () => {
3031
app = await commonSetup.commit();
3132
await app.setup();
3233
await app.withEnv(appConfigs.envs.withKeyless);
34+
if (appConfigs.envs.withKeyless.privateVariables.get('CLERK_API_URL')?.includes('clerkstage')) {
35+
dashboardUrl = 'https://dashboard.clerkstage.dev/';
36+
}
3337
await app.dev();
3438
});
3539

@@ -74,7 +78,7 @@ test.describe('Keyless mode @quickstart', () => {
7478

7579
await newPage.waitForLoadState();
7680
await newPage.waitForURL(url => {
77-
const urlToReturnTo = 'https://dashboard.clerk.com/apps/claim?token=';
81+
const urlToReturnTo = `${dashboardUrl}apps/claim?token=`;
7882
return (
7983
url.pathname === '/apps/claim/sign-in' &&
8084
url.searchParams.get('sign_in_force_redirect_url')?.startsWith(urlToReturnTo) &&
@@ -102,11 +106,9 @@ test.describe('Keyless mode @quickstart', () => {
102106
]);
103107

104108
await newPage.waitForLoadState();
105-
await newPage.waitForURL(url =>
106-
url.href.startsWith(
107-
'https://dashboard.clerk.com/sign-in?redirect_url=https%3A%2F%2Fdashboard.clerk.com%2Fapps%2Fapp_',
108-
),
109-
);
109+
await newPage.waitForURL(url => {
110+
return url.href.startsWith(`${dashboardUrl}sign-in?redirect_url=${encodeURIComponent(dashboardUrl)}apps%2Fapp_`);
111+
});
110112
});
111113

112114
test('Claimed application with keys inside .env, on dismiss, keyless prompt is removed.', async ({

0 commit comments

Comments
 (0)