UNPKG

@accounter/client

Version:
54 lines (42 loc) 1.8 kB
// @vitest-environment happy-dom import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; import { clearStoredAuth0Session, getStoredAuth0AccessToken, hasStoredAuth0Session, } from '../auth0-session.js'; describe('auth0-session utilities', () => { beforeEach(() => { vi.stubEnv('VITE_AUTH0_FRONTEND_CLIENT_ID', 'test-client-id'); vi.stubEnv('VITE_AUTH0_AUDIENCE', 'test-audience'); localStorage.clear(); }); afterEach(() => { vi.unstubAllEnvs(); }); it('clears Auth0 SPA SDK cache and auth marker keys', () => { localStorage.setItem('@@auth0spajs@@::client::audience::scope', '{"access_token":"abc"}'); localStorage.setItem('a0.spajs.txs.123', '{"state":"value"}'); localStorage.setItem('auth0.is.authenticated', 'true'); localStorage.setItem('other:key', 'keep-me'); clearStoredAuth0Session(); expect(localStorage.getItem('@@auth0spajs@@::client::audience::scope')).toBeNull(); expect(localStorage.getItem('a0.spajs.txs.123')).toBeNull(); expect(localStorage.getItem('auth0.is.authenticated')).toBeNull(); expect(localStorage.getItem('other:key')).toBe('keep-me'); }); it('returns false for session after cleanup', () => { const clientId = import.meta.env.VITE_AUTH0_FRONTEND_CLIENT_ID; const audience = import.meta.env.VITE_AUTH0_AUDIENCE; const scope = 'openid profile email offline_access'; localStorage.setItem( `@@auth0spajs@@::${clientId}::${audience}::${scope}`, JSON.stringify({ access_token: 'token-1' }), ); expect(getStoredAuth0AccessToken()).toBe('token-1'); expect(hasStoredAuth0Session()).toBe(true); clearStoredAuth0Session(); expect(getStoredAuth0AccessToken()).toBeNull(); expect(hasStoredAuth0Session()).toBe(false); }); });