Files
pulse-signage/test/weather-units.test.js
2026-08-28 02:53:59 +01:00

24 lines
1.3 KiB
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
const { convertWeatherSnapshot } = require('../src/data/weather-units');
test('converts cached weather snapshot values to selected units', () => {
const snapshot = {
current_units: { temperature_2m: '°C', apparent_temperature: '°C', wind_speed_10m: 'km/h', precipitation: 'mm' },
current: { temperature_2m: 20, apparent_temperature: 18, wind_speed_10m: 36, precipitation: 2.54 },
daily_units: { temperature_2m_max: '°C', temperature_2m_min: '°C', wind_speed_10m_max: 'km/h', precipitation_sum: 'mm' },
daily: { temperature_2m_max: [25], temperature_2m_min: [15], wind_speed_10m_max: [18], precipitation_sum: [25.4] }
};
const converted = convertWeatherSnapshot(snapshot, { temperature: 'fahrenheit', wind: 'mph', precipitation: 'inch' });
assert.equal(converted.current.temperature_2m, 68);
assert.equal(converted.current.apparent_temperature, 64.4);
assert.equal(converted.current.wind_speed_10m, 22.4);
assert.equal(converted.current.precipitation, 0.1);
assert.equal(converted.daily.temperature_2m_max[0], 77);
assert.equal(converted.daily.wind_speed_10m_max[0], 11.2);
assert.equal(converted.daily.precipitation_sum[0], 1);
assert.equal(snapshot.current.temperature_2m, 20);
});