forked from clerk/javascript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdevbrowser.test.ts
More file actions
31 lines (28 loc) · 1.61 KB
/
Copy pathdevbrowser.test.ts
File metadata and controls
31 lines (28 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { setDevBrowserJWTInURL } from '../devBrowser';
const DUMMY_URL_BASE = 'https://www.clerk.com';
describe('setDevBrowserJWTInURL(url, jwt)', () => {
const testCases: Array<[string, string]> = [
['', '/?__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
['/foo', 'foo?__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
['/foo', '/foo?__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
['#foo', '?__dev_session=token&__clerk_db_jwt=token#foo__clerk_db_jwt[token]'],
['/foo?bar=42#qux', '/foo?bar=42&__dev_session=token&__clerk_db_jwt=token#qux__clerk_db_jwt[token]'],
['/foo#__clerk_db_jwt[token]', '/foo?__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
[
'/foo?bar=42#qux__clerk_db_jwt[token]',
'/foo?bar=42&__dev_session=token&__clerk_db_jwt=token#qux__clerk_db_jwt[token]',
],
['/foo', '/foo?__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
['/foo?bar=42', '/foo?bar=42&__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
['/foo?bar=42&__clerk_db_jwt=token', '/foo?bar=42&__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
['/foo?bar=42&__dev_session=token', '/foo?bar=42&__dev_session=token&__clerk_db_jwt=token#__clerk_db_jwt[token]'],
];
test.each(testCases)(
'sets the dev browser JWT at the end of the provided url. Params: url=(%s), jwt=(%s), expected url=(%s)',
(input, expected) => {
expect(setDevBrowserJWTInURL(new URL(input, DUMMY_URL_BASE), 'token').href).toEqual(
new URL(expected, DUMMY_URL_BASE).href,
);
},
);
});