# 1. Créer la DB (une seule fois, avec superuser postgres)$env:PGPASSWORD='postgres123'&'D:\PostgreSQL\16\bin\psql.exe'-Upostgres-dpostgres-hlocalhost-c"CREATE DATABASE erp_test OWNER metallkart;"# 2. Pousser le schéma$env:DATABASE_URL="postgresql://metallkart:MK_PG_local_2026!@localhost:5432/erp_test"npxprismadbpush--skip-generate# 3. Copier et remplir .env.testcp .env.test.example.env.test# 4. Lancer les tests (le backend/frontend de dev sur 3001/5173 peut rester actif)npmruntest:e2e# Variantesnpmruntest:e2e:headed# avec navigateur visiblenpmruntest:e2e:ui# interface Playwright UInpmruntest:e2e:debug# mode debug pas-à-pas
Lancement sur VPS
ssh root@76.13.55.81
cd /opt/erp/metallkart-erp
# 1. Créer la DB
docker exec postgres-staging psql -U metallkart -d postgres -c "CREATE DATABASE erp_test OWNER metallkart;"# 2. Pousser le schémaDATABASE_URL="postgresql://metallkart:MK_PG_local_2026!@postgres-staging:5432/erp_test"\
npx prisma db push --skip-generate
# 3. Préparer .env.test
cp .env.test.example .env.test
sed -i 's|<REPLACE_ME>|MK_PG_local_2026!|' .env.test
sed -i 's|localhost:5432|postgres-staging:5432|' .env.test
# 4. Installer Chromium si nécessaire
npx playwright install chromium
# 5. Lancer
npm run test:e2e
Architecture
erp_test : DB dédiée, truncate+reseed à chaque run
Port 3002 : backend test (pas 3001 dev)
Port 5174 : frontend test (pas 5173 dev)
erp_local : jamais touché par les tests
Dataset seedé
3 users (admin, commercial, acheteur) — mot de passe Test_2026!
2 clients (1 avec contrat SIGNED, 1 sans)
2 fournisseurs (1 avec contrat, 1 sans)
2 orders (1 DRAFT #1001, 1 IN_PRODUCTION #1002 avec smeta)