# Dockerfile for running tests in isolated environment FROM node:20-alpine WORKDIR /app # Install dependencies for Prisma RUN apk add --no-cache openssl # Copy package files COPY package*.json ./ # Install all dependencies (including dev dependencies for testing) RUN npm ci # Copy Prisma schema COPY prisma ./prisma/ # Generate Prisma client RUN DATABASE_URL="postgresql://user:pass@localhost:5432/db" npx prisma generate # Copy source code and test files COPY src ./src/ COPY test ./test/ COPY tsconfig.json jest.config.js ./ COPY .env.test ./ # Run tests CMD ["npm", "test"]