Files
MagicMirror/tests/utils/vitest-setup.js

36 lines
976 B
JavaScript
Raw Normal View History

/**
* Vitest setup file for module aliasing and CI logging
* This allows require("logger") to work in unit tests
*/
const Module = require("node:module");
const path = require("node:path");
// Set test mode flag for application code to detect test environment
process.env.mmTestMode = "true";
// Store the original require
const originalRequire = Module.prototype.require;
// Track if we've already applied log level
let logLevelApplied = false;
// Override require to handle our custom aliases
Module.prototype.require = function (id) {
// Handle "logger" alias
if (id === "logger") {
const logger = originalRequire.call(this, path.resolve(__dirname, "../../js/logger.js"));
// Suppress debug/info logs in CI to keep output clean
if (!logLevelApplied && process.env.CI === "true") {
logger.setLogLevel("ERROR");
logLevelApplied = true;
}
return logger;
}
// Handle all other requires normally
return originalRequire.apply(this, arguments);
};