File size: 761 Bytes
de6cac5 | 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 | import { describe, it, expect, beforeEach } from 'vitest'
import {
getActiveUser, getToken, isAuthenticated, logout, setActiveUser, setToken,
} from './session'
describe('session (in-memory token + active user)', () => {
beforeEach(() => logout())
it('tracks the active user', () => {
expect(getActiveUser()).toBeNull()
setActiveUser({ userId: 'bob', via: 'demo' })
expect(getActiveUser()).toEqual({ userId: 'bob', via: 'demo' })
})
it('logout clears BOTH token and active user', () => {
setToken('t')
setActiveUser({ userId: 'bob', via: 'passkey' })
expect(isAuthenticated()).toBe(true)
logout()
expect(getToken()).toBeNull()
expect(getActiveUser()).toBeNull()
expect(isAuthenticated()).toBe(false)
})
})
|