Files
market_screener/tests/setup.js
T
2026-06-06 22:55:43 -04:00

31 lines
912 B
JavaScript

/**
* Test Setup — Handle platform-specific issues gracefully
*
* This file runs before tests to handle:
* - Platform mismatches (macOS binaries in Linux environment)
* - Native module loading failures (better-sqlite3, esbuild)
* - Environment-specific test skipping
*/
const canLoadNativeModules = () => {
try {
require('better-sqlite3');
return true;
} catch (err) {
if (err.code === 'ERR_MODULE_NOT_FOUND' || err.message.includes('wrong platform')) {
return false;
}
throw err;
}
};
export const canRunDatabaseTests = canLoadNativeModules();
// Set environment variable for test suite
if (!canRunDatabaseTests) {
process.env.SKIP_DATABASE_TESTS = 'true';
console.warn('⚠️ Native modules not available (platform mismatch detected)');
console.warn(' Skipping database-dependent tests');
console.warn(' Run tests on macOS or rebuild with: npm ci');
}