test: mock AnthropicClient in analyze tests to prevent live API calls

This commit is contained in:
saikiranvella
2026-06-08 12:08:37 -04:00
parent 17bc985260
commit 357dfb8249
31 changed files with 415 additions and 171 deletions
@@ -26,10 +26,8 @@ export class AnalyzeController {
t.toUpperCase(),
);
// Use cached catalyst data (refreshed every 15 minutes)
const { stories: allStories } = await this.catalystCache.get();
// Filter stories to only those matching requested tickers
const stories = allStories.filter((story) =>
story.tickers.some((t) => requestedTickers.includes(t)),
);
@@ -37,7 +35,12 @@ export class AnalyzeController {
if (!stories.length) return reply.code(200).send({ analysis: null, reason: 'no_stories' });
const { tickerFrequency } = CatalystAnalyst.rankTickers(stories);
const analysis = await this.llm.analyze(stories, requestedTickers, tickerFrequency);
let analysis = null;
try {
analysis = await this.llm.analyze(stories, requestedTickers, tickerFrequency);
} catch (err) {
req.log.error({ err }, 'LLM analysis failed');
}
return { analysis };
}
}