fixed integration tests
This commit is contained in:
@@ -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";
|
||||
|
||||
Reference in New Issue
Block a user