22 lines
800 B
TypeScript
22 lines
800 B
TypeScript
import { strict as assert } from 'node:assert';
|
|
import test from 'node:test';
|
|
import 'reflect-metadata';
|
|
import { REQUIRED_PERMISSIONS_KEY } from '../../src/authorization/decorators/require-permissions.decorator';
|
|
import { DashboardController } from '../../src/dashboard/dashboard.controller';
|
|
|
|
test('dashboard summary requires dashboard.read', () => {
|
|
const permissions = Reflect.getMetadata(
|
|
REQUIRED_PERMISSIONS_KEY,
|
|
DashboardController.prototype.summary,
|
|
);
|
|
assert.deepEqual(permissions, ['dashboard.read']);
|
|
});
|
|
|
|
test('dashboard controller delegates summary', async () => {
|
|
const expected = { counts: {}, recentAudit: [] };
|
|
const controller = new DashboardController({
|
|
summary: async () => expected,
|
|
} as never);
|
|
assert.equal(await controller.summary(), expected);
|
|
});
|