diff --git a/server/models/index.js b/server/models/index.js index a7dcb09..10e0e57 100644 --- a/server/models/index.js +++ b/server/models/index.js @@ -1,5 +1,9 @@ const { Sequelize } = require('sequelize'); -require('dotenv').config(); + +// Only load .env in non-test environments +if (process.env.NODE_ENV !== 'test') { + require('dotenv').config(); +} // Configure database based on environment let sequelize; diff --git a/server/tests/test-env.js b/server/tests/test-env.js index 6a5f360..4bfca03 100644 --- a/server/tests/test-env.js +++ b/server/tests/test-env.js @@ -1,4 +1,5 @@ // Set test environment before any modules are imported +// This MUST be set before any require() calls that might load .env files process.env.NODE_ENV = 'test'; process.env.JWT_SECRET = 'test-jwt-secret-key-for-testing-only'; process.env.DB_DIALECT = 'sqlite'; @@ -6,4 +7,7 @@ process.env.DB_STORAGE = ':memory:'; process.env.DB_LOGGING = 'false'; process.env.DATABASE_URL = 'sqlite::memory:'; -console.log('🧪 Test environment configured'); +// Clear any existing dotenv cache to prevent production .env from being loaded +delete require.cache[require.resolve('dotenv')]; + +console.log('🧪 Test environment configured - NODE_ENV:', process.env.NODE_ENV);