veza/apps/web/e2e/QUICK_FIX_ROLE.md
2025-12-22 22:00:50 +01:00

1.4 KiB

🚀 Quick Fix: Promouvoir l'utilisateur de test en "Artist"

Problème

Les tests d'upload échouent avec 403 Forbidden: Content creation denied - insufficient role.

Cause : L'utilisateur user@example.com a le rôle user, mais le backend exige artist pour uploader.

Solution Rapide (1 commande)

Si vous utilisez Docker :

docker exec -it veza_postgres psql -U veza -d veza -c "INSERT INTO roles (name, display_name, description) VALUES ('artist', 'Artist', 'Artist role') ON CONFLICT (name) DO NOTHING; INSERT INTO user_roles (user_id, role_id, role) SELECT u.id, r.id, 'artist' FROM users u CROSS JOIN roles r WHERE u.email = 'user@example.com' AND r.name = 'artist' ON CONFLICT (user_id, role) DO NOTHING; UPDATE users SET is_verified = true WHERE email = 'user@example.com';"

Ou utilisez le script automatique :

cd apps/web/e2e
./setup-test-user-role.sh

Vérification

Après avoir exécuté la commande, vérifiez :

docker exec -it veza_postgres psql -U veza -d veza -c "SELECT u.email, r.name as role, u.is_verified FROM users u LEFT JOIN user_roles ur ON u.id = ur.user_id LEFT JOIN roles r ON ur.role_id = r.id WHERE u.email = 'user@example.com';"

Vous devriez voir :

  • role: artist
  • is_verified: true

Relancer les tests

cd apps/web
npm run test:e2e

Les tests d'upload devraient maintenant passer !