Stop substituting synthetic market data when providers fail
- Replace synthetic fallback in getQuote()/getPriceHistory() with null returns
- Add QuoteResult/PriceHistoryResult types with { value, stale } structure
- Implement stale-while-revalidate: return cached value with stale=true on live fetch failure
- Cache failures for 30s to avoid hammering provider
- Update CompanyAnalysis type to use PriceData<T> wrapper
- Update task-processors to track failed/stale tickers explicitly
- Update price-history-card UI to show unavailable state and stale indicator
- Add comprehensive tests for failure cases
- Add e2e tests for null data, stale data, and live data scenarios
Resolves #14
This commit is contained in:
@@ -53,7 +53,7 @@ export function InteractivePriceChart({
|
||||
const shouldShowVolume = showVolume && filteredData.some(isOHLCVData);
|
||||
|
||||
return (
|
||||
<div ref={chartRef} className="w-full">
|
||||
<div ref={chartRef} className="w-full" data-testid="interactive-price-chart">
|
||||
{showToolbar && (
|
||||
<ChartToolbar
|
||||
chartType={chartType}
|
||||
|
||||
Reference in New Issue
Block a user