Backend Testing Skill
Purpose: Ensure API reliability via Unit and Integration tests using Jest.
File Naming
- •Unit:
[name].spec.ts(alongside source). - •Integration:
test/[feature].e2e-spec.ts.
Coverage Targets
- •Services: 80%
- •Controllers: 70%
- •Critical Path: 95%
Mocking Prisma
Use jest-mock-extended.
typescript
import { mockDeep } from "jest-mock-extended";
import { PrismaClient } from "@prisma/client";
const prisma = mockDeep<PrismaClient>();
prisma.model.findMany.mockResolvedValue([]);
AAA Pattern
typescript
it("should create resource", async () => {
// Arrange
const dto = { name: "Test" };
prisma.resource.create.mockResolvedValue(result);
// Act
const res = await service.create(dto);
// Assert
expect(res).toEqual(result);
});