import assert from 'node:assert/strict'; import test from 'node:test'; import { buildElectricDrillUrl, parseElectricDrillContext, } from './electric-drill-context.js'; test('parses electric scope, range, and selected day', () => { assert.deepEqual( parseElectricDrillContext('?electricScope=external&electricStart=2026-07-01&electricEnd=2026-07-31&electricDate=2026-07-24'), { vehicleScope: 'external', startDate: '2026-07-01', endDate: '2026-07-31', selectedDate: '2026-07-24', }, ); }); test('drops invalid electric dates and defaults scope', () => { assert.deepEqual( parseElectricDrillContext('?electricScope=unknown&electricDate=2026-02-31'), { vehicleScope: 'lingniu' }, ); }); test('preserves the all-vehicle scope for overview drilldown', () => { assert.deepEqual( parseElectricDrillContext('?electricScope=all&electricDate=2026-07-28'), { vehicleScope: 'all', selectedDate: '2026-07-28' }, ); }); test('builds namespaced electric drill URL and preserves unrelated filters', () => { assert.equal( buildElectricDrillUrl( { pathname: '/energy', search: '?company=5&electricDate=2026-01-01', hash: '#electric' }, { vehicleScope: 'lingniu', startDate: '2026-07-24', endDate: '2026-08-07', selectedDate: '2026-07-24', }, ), '/energy?company=5&electricScope=lingniu&electricStart=2026-07-24&electricEnd=2026-08-07&electricDate=2026-07-24#electric', ); });