refactor: align electric overview drilldown
This commit is contained in:
@@ -3,6 +3,7 @@ import test from 'node:test';
|
||||
import app from './index.js';
|
||||
import {
|
||||
parseHydrogenCustomerKind,
|
||||
parseElectricVehicleScope,
|
||||
parseHydrogenCustomerName,
|
||||
parseHydrogenStationId,
|
||||
parseEnergyDate,
|
||||
@@ -23,6 +24,14 @@ test('defaults unknown customer scopes to lingniu', () => {
|
||||
assert.equal(parseHydrogenCustomerKind(undefined), 'lingniu');
|
||||
});
|
||||
|
||||
test('parses explicit electric vehicle scopes', () => {
|
||||
assert.equal(parseElectricVehicleScope('all'), 'all');
|
||||
assert.equal(parseElectricVehicleScope('lingniu'), 'lingniu');
|
||||
assert.equal(parseElectricVehicleScope('external'), 'external');
|
||||
assert.equal(parseElectricVehicleScope(undefined), 'lingniu');
|
||||
assert.equal(parseElectricVehicleScope('unknown'), null);
|
||||
});
|
||||
|
||||
test('normalizes bounded customer names for exact matching', () => {
|
||||
assert.equal(parseHydrogenCustomerName(' 武汉客户 '), '武汉客户');
|
||||
assert.equal(parseHydrogenCustomerName('未指定客户'), '未指定客户');
|
||||
@@ -48,15 +57,15 @@ test('parses only valid energy calendar dates', () => {
|
||||
assert.equal(parseEnergyDate(undefined), null);
|
||||
});
|
||||
|
||||
test('rejects invalid electric order drill filters before querying data', async () => {
|
||||
test('rejects invalid electric 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');
|
||||
const invalidScope = await app.request('/electric/orders?date=2026-07-28&customer=unknown');
|
||||
assert.equal(invalidScope.status, 400);
|
||||
assert.deepEqual(await invalidScope.json(), { error: 'customer 必须是 lingniu 或 external' });
|
||||
assert.deepEqual(await invalidScope.json(), { error: 'customer 必须是 all、lingniu 或 external' });
|
||||
|
||||
const unknownScope = await app.request('/electric/orders?date=2026-07-28&customer=unknown');
|
||||
assert.equal(unknownScope.status, 400);
|
||||
const invalidMonthlyScope = await app.request('/electric/monthly?customer=unknown');
|
||||
assert.equal(invalidMonthlyScope.status, 400);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user