Refactor mock-data for weather-tests generation (#3000)

Refactored the mock data generation for the tests so we can use plain
JSON files for the data and read it in a more general way.

Comments welcome!

Co-authored-by: veeck <michael@veeck.de>
This commit is contained in:
Veeck
2023-01-11 21:47:20 +01:00
committed by GitHub
parent 6e80e5a295
commit 877f8ad380
12 changed files with 1475 additions and 1392 deletions

View File

@@ -1,7 +1,5 @@
const helpers = require("./global-setup");
const path = require("path");
const fs = require("fs");
const { generateWeather, generateWeatherForecast, generateWeatherHourly } = require("../../mocks/weather_test");
const { injectMockData } = require("../../utils/weather_mocker");
exports.getText = async (element, result) => {
const elem = await helpers.getElement(element);
@@ -15,17 +13,7 @@ exports.getText = async (element, result) => {
).toBe(result);
};
exports.startApp = async (configFile, systemDate) => {
let mockWeather;
if (configFile.includes("forecast")) {
mockWeather = generateWeatherForecast();
} else if (configFile.includes("hourly")) {
mockWeather = generateWeatherHourly();
} else {
mockWeather = generateWeather();
}
let content = fs.readFileSync(path.resolve(__dirname + "../../../../" + configFile)).toString();
content = content.replace("#####WEATHERDATA#####", mockWeather);
fs.writeFileSync(path.resolve(__dirname + "../../../../config/config.js"), content);
exports.startApp = async (configFileNameName, systemDate) => {
injectMockData(configFileNameName);
await helpers.startApplication("", systemDate);
};