avoid overriding config.js when running tests (#3205)

solves #3201
This commit is contained in:
Karsten Hassel
2023-09-22 14:45:46 +02:00
committed by GitHub
parent a67a0b677c
commit 95ec3096e0
9 changed files with 30 additions and 8 deletions

View File

@@ -1,5 +1,7 @@
const fs = require("fs");
const path = require("path");
const util = require("util");
const exec = util.promisify(require("child_process").exec);
const _ = require("lodash");
/**
@@ -35,9 +37,16 @@ const injectMockData = (configFileName, extendedData = {}) => {
} else {
mockWeather = readMockData("current", extendedData);
}
let content = fs.readFileSync(path.resolve(`${__dirname}../../../${configFileName}`)).toString();
let content = fs.readFileSync(configFileName).toString();
content = content.replace("#####WEATHERDATA#####", mockWeather);
fs.writeFileSync(path.resolve(`${__dirname}../../../config/config.js`), content);
const tempFile = configFileName.replace(".js", "_temp.js");
fs.writeFileSync(tempFile, content);
return tempFile;
};
module.exports = { injectMockData };
const cleanupMockData = async () => {
const tempDir = path.resolve(`${__dirname}/../configs`).toString();
await exec(`find ${tempDir} -type f -name *_temp.js -delete`);
};
module.exports = { injectMockData, cleanupMockData };