Spaces:
Sleeping
Sleeping
| import { test, expect } from '@playwright/test' | |
| import { API_KEY_HEADER, createTestAgent, deleteTestAgent } from './helpers' | |
| test.describe('Agent Optimize API', () => { | |
| test('GET /api/agents/optimize returns 401 without auth', async ({ request }) => { | |
| const res = await request.get('/api/agents/optimize?agent=test') | |
| expect(res.status()).toBe(401) | |
| }) | |
| test('GET /api/agents/optimize returns 400 without agent param', async ({ request }) => { | |
| const res = await request.get('/api/agents/optimize', { headers: API_KEY_HEADER }) | |
| expect(res.status()).toBe(400) | |
| const body = await res.json() | |
| expect(body.error).toContain('agent') | |
| }) | |
| test('GET /api/agents/optimize returns 200 with agent param', async ({ request }) => { | |
| const agent = await createTestAgent(request) | |
| try { | |
| const res = await request.get(`/api/agents/optimize?agent=${agent.name}`, { headers: API_KEY_HEADER }) | |
| expect(res.status()).toBe(200) | |
| const body = await res.json() | |
| expect(body).toHaveProperty('agent') | |
| expect(body).toHaveProperty('efficiency') | |
| expect(body).toHaveProperty('toolPatterns') | |
| expect(body).toHaveProperty('performance') | |
| expect(body).toHaveProperty('recommendations') | |
| expect(body.agent).toBe(agent.name) | |
| } finally { | |
| await deleteTestAgent(request, agent.id) | |
| } | |
| }) | |
| test('efficiency has expected fields', async ({ request }) => { | |
| const agent = await createTestAgent(request) | |
| try { | |
| const res = await request.get(`/api/agents/optimize?agent=${agent.name}`, { headers: API_KEY_HEADER }) | |
| const body = await res.json() | |
| expect(body.efficiency).toHaveProperty('tokensPerTask') | |
| expect(body.efficiency).toHaveProperty('fleetAverage') | |
| expect(body.efficiency).toHaveProperty('percentile') | |
| expect(body.efficiency).toHaveProperty('costPerTask') | |
| } finally { | |
| await deleteTestAgent(request, agent.id) | |
| } | |
| }) | |
| test('toolPatterns has mostUsed and leastEffective arrays', async ({ request }) => { | |
| const agent = await createTestAgent(request) | |
| try { | |
| const res = await request.get(`/api/agents/optimize?agent=${agent.name}`, { headers: API_KEY_HEADER }) | |
| const body = await res.json() | |
| expect(Array.isArray(body.toolPatterns.mostUsed)).toBe(true) | |
| expect(Array.isArray(body.toolPatterns.leastEffective)).toBe(true) | |
| } finally { | |
| await deleteTestAgent(request, agent.id) | |
| } | |
| }) | |
| test('recommendations is an array', async ({ request }) => { | |
| const agent = await createTestAgent(request) | |
| try { | |
| const res = await request.get(`/api/agents/optimize?agent=${agent.name}`, { headers: API_KEY_HEADER }) | |
| const body = await res.json() | |
| expect(Array.isArray(body.recommendations)).toBe(true) | |
| } finally { | |
| await deleteTestAgent(request, agent.id) | |
| } | |
| }) | |
| }) | |