feat(ai): support approved agent commands
This commit is contained in:
@@ -1,15 +1,17 @@
|
||||
import 'reflect-metadata';
|
||||
|
||||
import { plainToInstance } from 'class-transformer';
|
||||
import { validate } from 'class-validator';
|
||||
|
||||
import { CreateAgentPlanDto } from './create-agent-plan.dto';
|
||||
|
||||
describe('CreateAgentPlanDto', () => {
|
||||
const createDto = (request: string): CreateAgentPlanDto => Object.assign(new CreateAgentPlanDto(), {
|
||||
const createDto = (request: string): CreateAgentPlanDto => plainToInstance(CreateAgentPlanDto, {
|
||||
courseId: '019f3689-4fe2-7b93-a7c4-72e51fe3ec17',
|
||||
week: 1,
|
||||
request,
|
||||
modules: [],
|
||||
runtimeLogs: [],
|
||||
});
|
||||
|
||||
it('accepts a non-empty agent request', async () => {
|
||||
@@ -23,4 +25,15 @@ describe('CreateAgentPlanDto', () => {
|
||||
|
||||
expect(errors.some((error) => error.property === 'request')).toBe(true);
|
||||
});
|
||||
|
||||
it('accepts bounded runtime log context', async () => {
|
||||
const dto = createDto('현재 모듈 로그를 봐줘');
|
||||
dto.runtimeLogs = plainToInstance(CreateAgentPlanDto, {
|
||||
runtimeLogs: [{ moduleName: 'NAV2-Control', state: 'running', content: 'controller ready' }],
|
||||
}).runtimeLogs;
|
||||
|
||||
const errors = await validate(dto);
|
||||
|
||||
expect(errors).toHaveLength(0);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user