EthicApp-Development / ethicapp-main

EthicApp's main repository containing backend and frontend applications
MIT License
1 stars 0 forks source link

[ethicapp-v2] Crear configuración para uso de base de datos de testing, y ambiente de testing en backend de EthicApp #335

Open claudio-alvarez opened 4 weeks ago

claudio-alvarez commented 4 weeks ago

Descripción general

Nos encontramos implementando endpoints para los cuales hay tests desarrollados, y estamos usando la base de datos de desarrollo para ejecutar los tests al no existir una configuración de base de datos (y del resto de servicios de EthicApp) para testing. Esto es problemático porque no hay facilidad para resetear la base de datos si necesita estar ejecutando los tests. Además, un ambiente de testing podría facilitar implementar tests no sólo relativos a los endpoints expuestos por el backend de EthicApp, sino también tests para funcionamiento interno, por ejemplo, consultas a la base de datos directamente.

Sería entonces ideal crear una configuración de docker-compose para testing, que defina variables de entorno necesarias para usar base de datos y usuario especializado para testing (incluir sufijo _testing en user name y en nombre de base de datos; asimismo, usuario actual y base de datos actual renombrarla incorporando sufijo _development).

¿Por qué es necesario?

En gran parte debido a que realizar tests en una base de datos de desarrollo puede invalidar los supuestos necesarios para la correcta ejecución de los tests. Además, una configuración de docker-compose especializada para tests permitiría trabajar mejor la testeabilidad de todo aquello que se ha implementado sobre node/express, dado que en un futuro, sería posible también implementar tests para componentes internos y no sólo la API que es expuesta por el backend.

Información de respaldo

Ver .env y configuraciones de docker-compose actuales en la ruta raíz del proyecto.