Files
goodgo-platform/e2e/api/mcp.spec.ts
Ho Ngoc Hai da10ac64c6 test(e2e): update all E2E specs for latest API and fixtures
Update 17 E2E test files including admin, auth, inquiries, listings,
payments, search, subscriptions, and MCP specs. Update listings fixture
and global setup to align with latest schema changes.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-04-11 01:40:45 +07:00

55 lines
1.7 KiB
TypeScript

import { test, expect, registerUser } from '../fixtures';
test.describe('MCP API — Auth Guards', () => {
test.describe('GET /mcp/servers', () => {
test('rejects unauthenticated request with 401', async ({ request }) => {
const res = await request.get('mcp/servers');
expect(res.status()).toBe(401);
});
test('returns server list for authenticated user', async ({ request }) => {
const { accessToken } = await registerUser(request);
const res = await request.get('mcp/servers', {
headers: { Authorization: `Bearer ${accessToken}` },
});
expect(res.status()).toBe(200);
const body = await res.json();
expect(body).toHaveProperty('servers');
expect(Array.isArray(body.servers)).toBeTruthy();
});
});
test.describe('GET /mcp/:serverName/sse', () => {
test('rejects unauthenticated SSE connection with 401', async ({ request }) => {
const res = await request.get('mcp/search/sse');
expect(res.status()).toBe(401);
});
});
test.describe('POST /mcp/:serverName/messages', () => {
test('rejects unauthenticated message with 401', async ({ request }) => {
const res = await request.post('mcp/search/messages', {
params: { sessionId: 'fake-session' },
data: {},
});
expect(res.status()).toBe(401);
});
test('returns 400 when sessionId is missing for authenticated user', async ({ request }) => {
const { accessToken } = await registerUser(request);
const res = await request.post('mcp/search/messages', {
data: {},
headers: { Authorization: `Bearer ${accessToken}` },
});
expect(res.status()).toBe(400);
});
});
});