fix: guard EventSource for jsdom test env, add rate-limits MSW handler
This commit is contained in:
@@ -24,6 +24,9 @@ function usePipelineStream() {
|
|||||||
const [data, setData] = useState<StreamData | null>(null);
|
const [data, setData] = useState<StreamData | null>(null);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
// EventSource is not available in test environments (jsdom)
|
||||||
|
if (typeof EventSource === 'undefined') return;
|
||||||
|
|
||||||
const base = import.meta.env.VITE_QUERY_API_BASE || '';
|
const base = import.meta.env.VITE_QUERY_API_BASE || '';
|
||||||
const url = `${base}/api/ops/pipeline/stream`;
|
const url = `${base}/api/ops/pipeline/stream`;
|
||||||
const es = new EventSource(url);
|
const es = new EventSource(url);
|
||||||
|
|||||||
@@ -118,6 +118,16 @@ export const handlers = [
|
|||||||
// Health
|
// Health
|
||||||
http.get('/api/health', () => HttpResponse.json({ status: 'ok' })),
|
http.get('/api/health', () => HttpResponse.json({ status: 'ok' })),
|
||||||
|
|
||||||
|
// System
|
||||||
|
http.get('/api/system/rate-limits', () => HttpResponse.json({
|
||||||
|
polygon_global_limit: 45,
|
||||||
|
polygon_source_types: ['market_api', 'news_api'],
|
||||||
|
per_type_limits: { market_api: 20, news_api: 20 },
|
||||||
|
cadences_seconds: { market_api: 300, news_api: 300 },
|
||||||
|
market_api: { rate_per_minute: 20, cadence_seconds: 300, max_tickers_per_cycle: 100, active_sources: 51 },
|
||||||
|
news_api: { rate_per_minute: 20, cadence_seconds: 300, active_sources: 50 },
|
||||||
|
})),
|
||||||
|
|
||||||
// Macro events and impacts
|
// Macro events and impacts
|
||||||
http.get('/api/macro/events', () => HttpResponse.json(mockMacroEvents)),
|
http.get('/api/macro/events', () => HttpResponse.json(mockMacroEvents)),
|
||||||
http.get('/api/macro/events/:id', ({ params }) => {
|
http.get('/api/macro/events/:id', ({ params }) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user