/** * Database Test Helper * Provides unified database setup for integration tests * * USAGE: * const { setupDatabases, cleanupDatabases } = require('../helpers/db-test-helper'); * * beforeAll(async () => { * await setupDatabases(); * }); * * afterAll(async () => { * await cleanupDatabases(); * }); */ const mongoose = require('mongoose'); const { connect: connectDb, close: closeDb } = require('../../src/utils/db.util'); const config = require('../../src/config/app.config'); async function setupDatabases() { // Connect native MongoDB driver (for User model and native queries) await connectDb(); // Connect Mongoose (for Mongoose models) if (mongoose.connection.readyState === 0) { await mongoose.connect(config.mongodb.uri); } } async function cleanupDatabases() { await mongoose.disconnect(); await closeDb(); } module.exports = { setupDatabases, cleanupDatabases };