refactor: add hydrogen station drilldown

This commit is contained in:
kkfluous
2026-08-07 14:41:29 +08:00
parent d53257c65c
commit 71d0091457
9 changed files with 361 additions and 25 deletions
+21
View File
@@ -0,0 +1,21 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import {
parseHydrogenCustomerKind,
parseHydrogenStationId,
} from './query.js';
test('parses only non-negative integer station ids', () => {
assert.equal(parseHydrogenStationId('0'), 0);
assert.equal(parseHydrogenStationId('18'), 18);
assert.equal(parseHydrogenStationId('-1'), null);
assert.equal(parseHydrogenStationId('1 OR 1=1'), null);
assert.equal(parseHydrogenStationId(undefined), null);
});
test('defaults unknown customer scopes to lingniu', () => {
assert.equal(parseHydrogenCustomerKind('external'), 'external');
assert.equal(parseHydrogenCustomerKind('all'), 'all');
assert.equal(parseHydrogenCustomerKind('invalid'), 'lingniu');
assert.equal(parseHydrogenCustomerKind(undefined), 'lingniu');
});