Skip to main content
Glama
msw-mocks.md2.4 kB
```typescript import { http, HttpResponse, delay } from "msw"; import { setupServer } from "msw/node"; // ============================================ // Mock Database // ============================================ const users = [ { id: 1, name: "John Doe", email: "john@example.com" }, { id: 2, name: "Jane Doe", email: "jane@example.com" }, ]; // ============================================ // Handlers // ============================================ export const handlers = [ // GET Users http.get("https://api.example.com/users", async () => { // Simulate network delay await delay(500); return HttpResponse.json(users); }), // GET User by ID http.get("https://api.example.com/users/:id", async ({ params }) => { const { id } = params; const user = users.find((u) => u.id === Number(id)); if (!user) { return new HttpResponse(null, { status: 404 }); } return HttpResponse.json(user); }), // POST Create User http.post("https://api.example.com/users", async ({ request }) => { const newUser = (await request.json()) as any; // Basic validation mock if (!newUser.email) { return HttpResponse.json({ error: "Email required" }, { status: 400 }); } return HttpResponse.json({ id: 3, ...newUser }, { status: 201 }); }), // AUTH Login http.post("https://api.example.com/login", async ({ request }) => { const { email } = (await request.json()) as any; if (email === "admin@example.com") { return HttpResponse.json({ token: "mock-jwt-token", user: { id: 1, role: "admin" }, }); } return HttpResponse.json( { message: "Invalid credentials" }, { status: 401 }, ); }), ]; // ============================================ // Server Setup (Node environment) // ============================================ // Use this in your setupTests.ts export const server = setupServer(...handlers); /* // In setupTests.ts: beforeAll(() => server.listen()); afterEach(() => server.resetHandlers()); afterAll(() => server.close()); */ // ============================================ // Browser Setup (Client environment) // ============================================ /* import { setupWorker } from 'msw/browser'; const worker = setupWorker(...handlers); // In main.tsx: if (process.env.NODE_ENV === 'development') { worker.start(); } */ ```

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/millsydotdev/Code-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server