Testing con OAuth2 local y PostgreSQL

Este documento describe cómo ejecutar pruebas contra el API Express con autenticación OAuth2 local (JWT) y una base PostgreSQL de testing, sin servicios de Firebase Auth.

Introducción

El backend valida tokens JWT emitidos por el issuer OAuth2 del propio servidor (POST /oauth/token). Las pruebas deben usar:

  • Base de datos PostgreSQL separada (unosportclub_test o TEST_DATABASE_URL)

  • Variables SIGNER_KEY, SALT_SEPARATOR y clave de firma JWT en .env

  • Bearer tokens (en tests funcionales: mock de express-oauth2-jwt-bearer)

Backend local

cd functions
cp .env.example .env
npm run db:setup-test
npm start

Pruebas automatizadas

cd functions
npm test
npm run test:functional

Las pruebas funcionales usan createMockBearerToken() y un mock del middleware JWT; no requieren Firebase Emulator ni firebase-admin.