refactor: add electric order drilldown
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
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('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',
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user