import { decideAdminGuard } from '../../frontend/src/app/core/guards/admin.guard.decision'; describe('decideAdminGuard', () => { it('redirects to /bootstrap when not initialized', () => { expect( decideAdminGuard({ initialized: false, isAuthenticated: true, role: 'admin' }), ).toEqual({ kind: 'redirect', path: '/bootstrap' }); }); it('redirects to /login when not authenticated', () => { expect( decideAdminGuard({ initialized: true, isAuthenticated: false, role: undefined }), ).toEqual({ kind: 'redirect', path: '/login' }); }); it('redirects to / when authenticated but not admin', () => { expect( decideAdminGuard({ initialized: true, isAuthenticated: true, role: 'player' }), ).toEqual({ kind: 'redirect', path: '/' }); }); it('allows when authenticated admin', () => { expect( decideAdminGuard({ initialized: true, isAuthenticated: true, role: 'admin' }), ).toEqual({ kind: 'allow' }); }); });