import { describe, expect, it } from 'vitest' import { cargarSesion, guardarSesion, limpiarSesion, type StorageLike } from './sesion' function storageFalso(): StorageLike & { datos: Map } { const datos = new Map() return { datos, getItem: (k) => datos.get(k) ?? null, setItem: (k, v) => void datos.set(k, v), removeItem: (k) => void datos.delete(k), } } describe('sesion del chat (localStorage)', () => { it('devuelve null cuando no hay sesión guardada o está vacía', () => { const s = storageFalso() expect(cargarSesion(s)).toBeNull() s.setItem('frasa-ai:sessionId', '') expect(cargarSesion(s)).toBeNull() }) it('guarda y recupera el sessionId', () => { const s = storageFalso() guardarSesion('conv-123', s) expect(cargarSesion(s)).toBe('conv-123') }) it('limpiarSesion elimina el sessionId (nueva conversación)', () => { const s = storageFalso() guardarSesion('conv-123', s) limpiarSesion(s) expect(cargarSesion(s)).toBeNull() }) })