feat: Tests et scripts utilitaires - Ajout des tests e2e, scripts de configuration de base de données et scripts de test API

This commit is contained in:
Matthieu
2025-07-29 21:04:22 +02:00
parent b4886d68bf
commit e145b2c1ff
8 changed files with 583 additions and 0 deletions

61
setup-database.sh Normal file
View File

@@ -0,0 +1,61 @@
#!/bin/bash
echo "🚀 Configuration de la base de données PostgreSQL pour l'inventaire industriel"
# Vérifier si PostgreSQL est installé
if ! command -v psql &> /dev/null; then
echo "📦 Installation de PostgreSQL..."
sudo dnf install -y postgresql postgresql-server postgresql-contrib
# Initialiser la base de données PostgreSQL
sudo postgresql-setup --initdb
# Démarrer et activer PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql
echo "✅ PostgreSQL installé et démarré"
else
echo "✅ PostgreSQL déjà installé"
fi
# Créer l'utilisateur et la base de données
echo "🔧 Configuration de la base de données..."
# Se connecter en tant qu'utilisateur postgres
sudo -u postgres psql << EOF
-- Créer l'utilisateur postgres avec mot de passe
ALTER USER postgres PASSWORD 'password';
-- Créer la base de données
CREATE DATABASE inventory_db;
-- Donner les privilèges
GRANT ALL PRIVILEGES ON DATABASE inventory_db TO postgres;
-- Se connecter à la base de données
\c inventory_db;
-- Créer le schéma public si nécessaire
CREATE SCHEMA IF NOT EXISTS public;
-- Donner les privilèges sur le schéma
GRANT ALL ON SCHEMA public TO postgres;
\q
EOF
echo "✅ Base de données configurée"
# Générer le client Prisma
echo "🔧 Génération du client Prisma..."
npx prisma generate
# Créer et appliquer les migrations
echo "🔧 Création des migrations..."
npx prisma migrate dev --name init
echo "🎉 Configuration terminée !"
echo "📊 Base de données: inventory_db"
echo "🔗 URL: postgresql://postgres:password@localhost:5432/inventory_db"
echo "🚀 Pour démarrer l'API: npm run start:dev"