feat(platform): consolidate production vehicle data workflows

This commit is contained in:
lingniu
2026-07-15 23:26:29 +08:00
parent 6cddc0a43d
commit 3fabcf181a
59 changed files with 6849 additions and 3532 deletions

View File

@@ -1,5 +1,5 @@
import { describe, expect, it } from 'vitest';
import { MONITOR_REFRESH, monitorMapQueryParams, monitorQueryParams } from './useMonitorData';
import { MAX_MONITOR_SEARCH_TERMS, MONITOR_REFRESH, monitorMapQueryParams, monitorQueryParams, parseMonitorSearchTerms } from './useMonitorData';
describe('monitor query params', () => {
it('keeps server-owned status filters and bounded list size', () => {
@@ -20,6 +20,14 @@ describe('monitor query params', () => {
expect(monitorMapQueryParams({ keyword: '粤A1', protocol: '', status: '' }, viewport).has('bounds')).toBe(false);
expect(monitorMapQueryParams({ keyword: '', protocol: '', status: '' }, viewport).get('bounds')).toBe(viewport.bounds);
});
it('normalizes pasted plates, removes duplicates, and sends one batch parameter', () => {
expect(parseMonitorSearchTerms('粤ag18312\n川AHTWO1粤AG18312 京A00001')).toEqual(['粤AG18312', '川AHTWO1', '京A00001']);
const params = monitorQueryParams({ keyword: '粤AG18312\n川AHTWO1粤AG18312', protocol: '', status: '' }, 200);
expect(params.get('keywords')).toBe('粤AG18312,川AHTWO1');
expect(params.get('keyword')).toBeNull();
expect(parseMonitorSearchTerms(Array.from({ length: MAX_MONITOR_SEARCH_TERMS + 5 }, (_, index) => `粤A${index}`).join('\n'))).toHaveLength(MAX_MONITOR_SEARCH_TERMS);
});
});
describe('monitor refresh cadence', () => {