fixed integration tests

This commit is contained in:
jackiettran
2026-01-18 17:44:26 -05:00
parent d570f607d3
commit e6c56ae90f
2 changed files with 105 additions and 12 deletions

View File

@@ -1,13 +1,30 @@
// Integration test setup
// Integration tests use a real database, so we don't mock DATABASE_URL
process.env.NODE_ENV = 'test';
const path = require("path");
require("dotenv").config({ path: path.join(__dirname, "..", ".env.test") });
// Ensure JWT secrets are set for integration tests
process.env.JWT_ACCESS_SECRET = process.env.JWT_ACCESS_SECRET || 'test-access-secret';
process.env.JWT_REFRESH_SECRET = process.env.JWT_REFRESH_SECRET || 'test-refresh-secret';
process.env.JWT_SECRET = process.env.JWT_SECRET || 'test-secret';
process.env.NODE_ENV = "test";
// Set other required env vars if not already set
process.env.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY || 'test-key';
process.env.STRIPE_SECRET_KEY = process.env.STRIPE_SECRET_KEY || 'sk_test_key';
// Required environment variables - fail fast if missing
const requiredEnvVars = [
"JWT_ACCESS_SECRET",
"JWT_REFRESH_SECRET",
"CSRF_SECRET",
"TOTP_ENCRYPTION_KEY",
];
const missingVars = requiredEnvVars.filter((v) => !process.env[v]);
if (missingVars.length > 0) {
throw new Error(
`Missing required environment variables for integration tests: ${missingVars.join(", ")}\n` +
`Please ensure these are set in your .env.test file.`,
);
}
// Optional variables with safe defaults
process.env.JWT_SECRET =
process.env.JWT_SECRET || process.env.JWT_ACCESS_SECRET;
process.env.EMAIL_ENABLED = "false";
process.env.FRONTEND_URL = process.env.FRONTEND_URL || "http://localhost:3000";
process.env.GOOGLE_MAPS_API_KEY = process.env.GOOGLE_MAPS_API_KEY || "test-key";
process.env.STRIPE_SECRET_KEY = process.env.STRIPE_SECRET_KEY || "sk_test_key";