integration-testslisted
Install: claude install-skill SilviaAre95/wayworks
# Integration Test Generator
Generate integration tests for: **$ARGUMENTS** (framework defaults to vitest)
## Steps
1. **Identify the integration boundary** — What components are being tested together?
- API route + database
- Service layer + external API
- Multiple services collaborating
2. **Set up test infrastructure**:
- Database: use a test database (not mocks) — Prisma with a test schema
- External APIs: use MSW (Mock Service Worker) or similar for HTTP mocking
- Auth: create test fixtures for authenticated/unauthenticated states
3. **Design test scenarios**:
- **Full flow** — request in, response out, verify database state
- **Error propagation** — verify errors at one layer surface correctly at another
- **Data integrity** — verify relations, cascades, constraints
- **Concurrent access** — if relevant, test race conditions
4. **Write tests**:
```typescript
import { describe, it, expect, beforeAll, afterAll, beforeEach } from "vitest";
import { prisma } from "@/lib/prisma";
import { createTestUser, cleanupTestData } from "./helpers";
describe("POST /api/orders", () => {
let testUser: User;
beforeAll(async () => {
testUser = await createTestUser();
});
afterAll(async () => {
await cleanupTestData();
});
beforeEach(async () => {
await prisma.order.deleteMany({ where: { userId: testUser.id } });
});
it("creates an order and updates inventory", async () => {
const response = await fetch("/api/orders"