Exportamos un objeto de base de datos "global" llamado db desde un archivo llamado db.js Este archivo contiene toda la información de conexión knex. db se usa en todo nuestro sistema básicamente en cada interacción con la base de datos.
Al agregar Jest para la prueba, me di cuenta de que necesitaba recrear un objeto knex en cada script de prueba y no usar el objeto db global. Sin embargo, las funciones que quiero probar que son parte de nuestro sistema todavía usan db . Entonces, recibo errores de conexión porque no está usando la conexión activa que se establece en el script de prueba.
¿Existe una mejor práctica o una forma sencilla de probar las funciones de mi sistema? ¿Tengo que volver a crear la conexión en cada secuencia de comandos (si no lo hago, recibo errores de conexión)? ¿O necesito agregar un argumento a todas las funciones para el objeto db para poder usar mi nueva conexión?
Usando Node, Jest y Postgres. Los "errores de conexión" que recibo son "el rol 'dan' no existe", donde 'dan' es el nombre de inicio de sesión de mi sistema operativo.