import 'reflect-metadata'; import { PERMISSION_KEY } from '../auth/decorators/permission.decorator'; import { OrganizationsController } from './organizations.controller'; describe('OrganizationsController permissions', () => { it('allows student editors to use the options endpoint without full entity exposure', () => { expect( Reflect.getMetadata(PERMISSION_KEY, OrganizationsController.prototype.findOptions), ).toEqual(['organization:view', 'student:create', 'student:edit']); }); it('keeps the full entity list restricted to organization viewers only', () => { expect(Reflect.getMetadata(PERMISSION_KEY, OrganizationsController.prototype.findAll)).toEqual([ 'organization:view', ]); }); it('keeps organization detail restricted to organization viewers', () => { expect(Reflect.getMetadata(PERMISSION_KEY, OrganizationsController.prototype.findOne)).toEqual([ 'organization:view', ]); }); });