const _ = require("lodash"); /** * @param {object} extendedData extra data to add to the default mock data * @returns {string} mocked forecast weather data */ function generateWeatherForecast(extendedData = {}) { return JSON.stringify( _.merge( {}, { city: { id: 2867714, name: "Munich", coord: { lon: 11.5754, lat: 48.1371 }, country: "DE", population: 1260391, timezone: 7200 }, cod: "200", message: 0.9653487, cnt: 7, list: [ { dt: 1568372400, sunrise: 1568350044, sunset: 1568395948, temp: { day: 24.44, min: 15.35, max: 24.44, night: 15.35, eve: 18, morn: 23.03 }, pressure: 1031.65, humidity: 70, weather: [{ id: 801, main: "Clouds", description: "few clouds", icon: "02d" }], speed: 3.35, deg: 314, clouds: 21 }, { dt: 1568458800, sunrise: 1568436525, sunset: 1568482223, temp: { day: 20.81, min: 13.56, max: 21.02, night: 13.56, eve: 16.6, morn: 15.88 }, pressure: 1028.81, humidity: 72, weather: [{ id: 500, main: "Rain", description: "light rain", icon: "10d" }], speed: 2.21, deg: 81, clouds: 100 }, { dt: 1568545200, sunrise: 1568523007, sunset: 1568568497, temp: { day: 22.65, min: 13.76, max: 22.88, night: 15.27, eve: 17.45, morn: 13.76 }, pressure: 1023.75, humidity: 64, weather: [{ id: 800, main: "Clear", description: "sky is clear", icon: "01d" }], speed: 1.15, deg: 7, clouds: 0 }, { dt: 1568631600, sunrise: 1568609489, sunset: 1568654771, temp: { day: 23.45, min: 13.95, max: 23.45, night: 13.95, eve: 17.75, morn: 15.21 }, pressure: 1020.41, humidity: 64, weather: [{ id: 800, main: "Clear", description: "sky is clear", icon: "01d" }], speed: 3.07, deg: 298, clouds: 7 }, { dt: 1568718000, sunrise: 1568695970, sunset: 1568741045, temp: { day: 20.55, min: 10.95, max: 20.55, night: 10.95, eve: 14.82, morn: 13.24 }, pressure: 1019.4, humidity: 66, weather: [{ id: 800, main: "Clear", description: "sky is clear", icon: "01d" }], speed: 2.8, deg: 333, clouds: 2 }, { dt: 1568804400, sunrise: 1568782452, sunset: 1568827319, temp: { day: 18.15, min: 7.75, max: 18.15, night: 7.75, eve: 12.45, morn: 9.41 }, pressure: 1017.56, humidity: 52, weather: [{ id: 800, main: "Clear", description: "sky is clear", icon: "01d" }], speed: 2.92, deg: 34, clouds: 0 }, { dt: 1568890800, sunrise: 1568868934, sunset: 1568913593, temp: { day: 14.85, min: 5.56, max: 15.05, night: 5.56, eve: 9.56, morn: 6.25 }, pressure: 1022.7, humidity: 59, weather: [{ id: 800, main: "Clear", description: "sky is clear", icon: "01d" }], speed: 2.89, deg: 51, clouds: 1 } ] }, extendedData ) ); } module.exports = generateWeatherForecast;