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); });