# E2E Testing Dockerfile for Landing Frontend
# Uses Microsoft's Playwright base image for browser testing
#
# Build from the frontend directory:
#   docker build -f e2e/Dockerfile -t landing-e2e-test .
#
# Run E2E tests:
#   docker run --rm landing-e2e-test

FROM mcr.microsoft.com/playwright:v1.49.1-noble

WORKDIR /app

# Install pnpm globally
RUN npm install -g pnpm

# Copy package files
COPY package.json pnpm-lock.yaml* ./

# Install dependencies (includes linked packages from registry)
RUN pnpm install --frozen-lockfile || pnpm install

# Copy source code
COPY . .

# Build the application
RUN pnpm build

# Set environment for CI
ENV CI=true
ENV BASE_URL=http://localhost:3100

# Default: run E2E tests
# Override with: docker run --rm landing-e2e-test pnpm test
CMD ["pnpm", "test:e2e"]
