From 6535faf82a33362975828874f63114243bde46b0 Mon Sep 17 00:00:00 2001 From: Kyle Belanger Date: Wed, 5 Mar 2025 17:11:41 -0500 Subject: [PATCH] set up test enviroment --- backend/.env.test | 7 +++++++ backend/package.json | 5 ++++- backend/src/config/db.js | 15 ++++++++++++++- backend/src/config/testConfig.js | 17 +++++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 backend/.env.test create mode 100644 backend/src/config/testConfig.js diff --git a/backend/.env.test b/backend/.env.test new file mode 100644 index 0000000..cdb69f9 --- /dev/null +++ b/backend/.env.test @@ -0,0 +1,7 @@ +PORT=3000 +DB_HOST=localhost +DB_PORT=5432 +DB_NAME=whiskey_collection_test +DB_USER=whiskey_admin +DB_PASSWORD=t2B^IwrR +JWT_SECRET=dsl0ECYSJV999 \ No newline at end of file diff --git a/backend/package.json b/backend/package.json index 90ef340..b5fa315 100644 --- a/backend/package.json +++ b/backend/package.json @@ -5,7 +5,10 @@ "scripts": { "start": "node src/app.js", "dev": "nodemon src/app.js", - "test": "echo \"Error: no test specified\" && exit 1" + "prod": "NODE_ENV=production node src/app.js", + "test": "NODE_ENV=test jest --forceExit", + "test:watch": "NODE_ENV=test jest --watch", + "start:test": "NODE_ENV=test node src/app.js" }, "keywords": [ "whiskey", diff --git a/backend/src/config/db.js b/backend/src/config/db.js index 6ad03e1..1c5081a 100644 --- a/backend/src/config/db.js +++ b/backend/src/config/db.js @@ -1,7 +1,20 @@ +// src/config/db.js const { Sequelize } = require('sequelize'); const dotenv = require('dotenv'); +const path = require('path'); -dotenv.config(); +// Load environment-specific variables +if (process.env.NODE_ENV === 'test') { + console.log('Loading TEST environment variables'); + dotenv.config({ path: path.resolve(__dirname, '../../.env.test') }); +} else { + console.log('Loading DEVELOPMENT environment variables'); + dotenv.config(); +} + +console.log('Environment:', process.env.NODE_ENV); +console.log('Database:', process.env.DB_NAME); +console.log('User:', process.env.DB_USER); const sequelize = new Sequelize( process.env.DB_NAME, diff --git a/backend/src/config/testConfig.js b/backend/src/config/testConfig.js new file mode 100644 index 0000000..a1f2c45 --- /dev/null +++ b/backend/src/config/testConfig.js @@ -0,0 +1,17 @@ +const dotenv = require('dotenv'); +const path = require('path'); + +// Load test environment variables +dotenv.config({ path: path.resolve(__dirname, '../../.env.test') }); + +module.exports = { + testDbConfig: { + database: process.env.DB_NAME, + username: process.env.DB_USER, + password: process.env.DB_PASSWORD, + host: process.env.DB_HOST, + port: process.env.DB_PORT, + dialect: 'postgres', + logging: false + } +}; \ No newline at end of file