# =============================================================================
# Presence Service - Test Dockerfile
# =============================================================================

FROM node:20-alpine

# 设置工作目录
WORKDIR /app

# 安装必要的系统依赖
RUN apk add --no-cache \
    openssl \
    libc6-compat

# 复制 package.json 和 package-lock.json (不复制 node_modules)
COPY package*.json ./

# 安装依赖 (在容器内安装，避免平台差异)
RUN npm ci

# 复制 Prisma schema
COPY prisma ./prisma/

# 生成 Prisma Client
RUN npx prisma generate

# 复制源代码和测试代码 (忽略 node_modules)
COPY src ./src/
COPY test ./test/
COPY tsconfig*.json ./
COPY jest.config.js ./

# 设置环境变量
ENV NODE_ENV=test

# 默认命令：运行测试
CMD ["npm", "test"]
