24 lines
1.3 KiB
JavaScript
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);
|
|
}); |