refactor: add electric order drilldown

This commit is contained in:
kkfluous
2026-08-07 14:55:55 +08:00
parent cf9782562b
commit cdf1fd27e7
8 changed files with 414 additions and 21 deletions
+21
View File
@@ -5,6 +5,7 @@ import {
parseHydrogenCustomerKind,
parseHydrogenCustomerName,
parseHydrogenStationId,
parseEnergyDate,
} from './query.js';
test('parses only non-negative integer station ids', () => {
@@ -39,3 +40,23 @@ test('rejects invalid entity filters before querying hydrogen data', async () =>
assert.equal(invalidCustomer.status, 400);
assert.deepEqual(await invalidCustomer.json(), { error: 'customerName 必须是 1-128 个字符' });
});
test('parses only valid energy calendar dates', () => {
assert.equal(parseEnergyDate('2026-07-24'), '2026-07-24');
assert.equal(parseEnergyDate('2026-02-31'), null);
assert.equal(parseEnergyDate('2026-7-24'), null);
assert.equal(parseEnergyDate(undefined), null);
});
test('rejects invalid electric order drill filters before querying data', async () => {
const invalidDate = await app.request('/electric/orders?date=2026-02-31&customer=lingniu');
assert.equal(invalidDate.status, 400);
assert.deepEqual(await invalidDate.json(), { error: 'date 必须是有效的 YYYY-MM-DD 日期' });
const invalidScope = await app.request('/electric/orders?date=2026-07-28&customer=all');
assert.equal(invalidScope.status, 400);
assert.deepEqual(await invalidScope.json(), { error: 'customer 必须是 lingniu 或 external' });
const unknownScope = await app.request('/electric/orders?date=2026-07-28&customer=unknown');
assert.equal(unknownScope.status, 400);
});