// 로그아웃은 이 기기의 세션만 폐기한다(scope 'local'). // 기본값 'global' 은 계정의 모든 refresh token 을 폐기해 데스크톱까지 로그아웃시켰다. const mockSignOut = jest.fn() jest.mock('../src/lib/supabase', () => ({ supabase: { auth: { signOut: (...args: unknown[]) => mockSignOut(...args), }, }, })) import { signOutWithLocalFallback } from '../src/lib/logout' describe('per-device logout scope', () => { beforeEach(() => jest.clearAllMocks()) test('revokes only this device session, never the whole account', async () => { mockSignOut.mockResolvedValue({ error: null }) await signOutWithLocalFallback(jest.fn(async () => undefined)) expect(mockSignOut).toHaveBeenCalledTimes(1) expect(mockSignOut).toHaveBeenCalledWith({ scope: 'local' }) }) })