@clerk/chrome-extension
Version:
Clerk SDK for Chrome extensions
1 lines • 3.74 kB
Source Map (JSON)
{"version":3,"sources":["../../src/utils.test.ts"],"sourcesContent":["import { convertPublishableKeyToFrontendAPIOrigin, getClientCookie, getFromStorage, setInStorage } from './utils';\n\ndescribe('utils', () => {\n const _chrome = globalThis.chrome;\n\n beforeAll(() => {\n globalThis.chrome = {\n storage: {\n // @ts-ignore\n local: { set: jest.fn(), get: jest.fn(k => Promise.resolve({ [k]: `storage.get:${k}` })) },\n },\n // @ts-ignore\n cookies: { get: jest.fn(({ url, name }) => `cookies.get:${url}:${name}`) },\n };\n });\n\n beforeEach(() => {\n jest.clearAllMocks();\n });\n\n afterAll(() => {\n globalThis.chrome = _chrome;\n });\n\n describe('convertPublishableKeyToFrontendAPIOrigin(key)', () => {\n test('returns FAPI domain for production', () => {\n const livePk = 'pk_live_ZXhhbXBsZS5jbGVyay5hY2NvdW50cy5kZXYk';\n\n expect(convertPublishableKeyToFrontendAPIOrigin(livePk)).toEqual('https://example.clerk.accounts.dev');\n });\n\n test('returns FAPI domain for development', () => {\n const devPk = 'pk_test_ZXhhbXBsZS5jbGVyay5hY2NvdW50cy5kZXYk';\n\n expect(convertPublishableKeyToFrontendAPIOrigin(devPk)).toEqual('https://example.clerk.accounts.dev');\n });\n\n test('returns FAPI domain for invalid key', () => {\n const invalidPk = 'pk_ZXhhbXBsZS5jbGVyay5hY2NvdW50cy5kZXYk';\n\n const errMsg = 'The string to be decoded contains invalid characters.';\n expect(() => convertPublishableKeyToFrontendAPIOrigin(invalidPk)).toThrowError(errMsg);\n });\n });\n\n describe('getClientCookie(url)', () => {\n test('returns cookie value from chrome.cookies if is set for url', async () => {\n const url = 'http://localhost:3000';\n await expect(getClientCookie(url)).resolves.toEqual(`cookies.get:${url}:__client`);\n });\n });\n\n describe('setInStorage(key, value)', () => {\n test('sets value in chrome.storage', async () => {\n await setInStorage('key', 'value');\n\n expect(globalThis.chrome.storage.local.set).toBeCalledTimes(1);\n expect(globalThis.chrome.storage.local.set).toBeCalledWith({ key: 'value' });\n });\n });\n\n describe('getFromStorage(key)', () => {\n test('gets value from chrome.storage', async () => {\n await expect(getFromStorage('key')).resolves.toEqual(`storage.get:key`);\n });\n });\n});\n"],"mappings":";AAAA,mBAAwG;AAExG,SAAS,SAAS,MAAM;AACtB,QAAM,UAAU,WAAW;AAE3B,YAAU,MAAM;AACd,eAAW,SAAS;AAAA,MAClB,SAAS;AAAA;AAAA,QAEP,OAAO,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,KAAK,GAAG,OAAK,QAAQ,QAAQ,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE;AAAA,MAC3F;AAAA;AAAA,MAEA,SAAS,EAAE,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,KAAK,MAAM,eAAe,GAAG,IAAI,IAAI,EAAE,EAAE;AAAA,IAC3E;AAAA,EACF,CAAC;AAED,aAAW,MAAM;AACf,SAAK,cAAc;AAAA,EACrB,CAAC;AAED,WAAS,MAAM;AACb,eAAW,SAAS;AAAA,EACtB,CAAC;AAED,WAAS,iDAAiD,MAAM;AAC9D,SAAK,sCAAsC,MAAM;AAC/C,YAAM,SAAS;AAEf,iBAAO,uDAAyC,MAAM,CAAC,EAAE,QAAQ,oCAAoC;AAAA,IACvG,CAAC;AAED,SAAK,uCAAuC,MAAM;AAChD,YAAM,QAAQ;AAEd,iBAAO,uDAAyC,KAAK,CAAC,EAAE,QAAQ,oCAAoC;AAAA,IACtG,CAAC;AAED,SAAK,uCAAuC,MAAM;AAChD,YAAM,YAAY;AAElB,YAAM,SAAS;AACf,aAAO,UAAM,uDAAyC,SAAS,CAAC,EAAE,aAAa,MAAM;AAAA,IACvF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,wBAAwB,MAAM;AACrC,SAAK,8DAA8D,YAAY;AAC7E,YAAM,MAAM;AACZ,YAAM,WAAO,8BAAgB,GAAG,CAAC,EAAE,SAAS,QAAQ,eAAe,GAAG,WAAW;AAAA,IACnF,CAAC;AAAA,EACH,CAAC;AAED,WAAS,4BAA4B,MAAM;AACzC,SAAK,gCAAgC,YAAY;AAC/C,gBAAM,2BAAa,OAAO,OAAO;AAEjC,aAAO,WAAW,OAAO,QAAQ,MAAM,GAAG,EAAE,gBAAgB,CAAC;AAC7D,aAAO,WAAW,OAAO,QAAQ,MAAM,GAAG,EAAE,eAAe,EAAE,KAAK,QAAQ,CAAC;AAAA,IAC7E,CAAC;AAAA,EACH,CAAC;AAED,WAAS,uBAAuB,MAAM;AACpC,SAAK,kCAAkC,YAAY;AACjD,YAAM,WAAO,6BAAe,KAAK,CAAC,EAAE,SAAS,QAAQ,iBAAiB;AAAA,IACxE,CAAC;AAAA,EACH,CAAC;AACH,CAAC;","names":[]}