feat(swarm): add GET /api/swarm/archetypes route with passing test

This commit is contained in:
zenchantlive 2026-02-20 17:10:26 -08:00
parent 2d88c57b55
commit 1925d625b6
2 changed files with 27 additions and 0 deletions

View file

@ -0,0 +1,7 @@
import { NextResponse } from 'next/server';
import { getArchetypes } from '../../../../lib/server/beads-fs';
export async function GET() {
const data = await getArchetypes();
return NextResponse.json(data);
}

View file

@ -0,0 +1,20 @@
import { expect, test, describe, mock } from 'bun:test';
import { GET } from '../../../src/app/api/swarm/archetypes/route';
// Mock the dependency
mock.module('../../../src/lib/server/beads-fs', () => ({
getArchetypes: async () => [
{ id: 'test-arch', name: 'Test', isBuiltIn: true }
]
}));
describe('/api/swarm/archetypes GET', () => {
test('returns 200 and a JSON array of archetypes', async () => {
const response = await GET();
expect(response.status).toBe(200);
const data = await response.json();
expect(Array.isArray(data)).toBe(true);
expect(data[0].id).toBe('test-arch');
});
});