test: stabilize full test suite

This commit is contained in:
Marco Beretta 2026-08-01 03:21:31 +02:00
parent 701604489f
commit c6e001ffcb
No known key found for this signature in database
GPG key ID: D918033D8E74CC11
2 changed files with 15 additions and 9 deletions

View file

@ -4,6 +4,9 @@
* Tests the /v1/responses endpoint against the Open Responses specification
* compliance tests. Uses real Anthropic API for LLM calls.
*
* Run with:
* NODE_OPTIONS=--experimental-vm-modules RUN_RESPONSES_LIVE_TESTS=1 npx jest responses.spec --runInBand
*
* @see https://openresponses.org/specification
* @see https://github.com/openresponses/openresponses/blob/main/src/lib/compliance-tests.ts
*/
@ -19,11 +22,10 @@ const originalEnv = {
process.env.CREDS_KEY = '0123456789abcdef0123456789abcdef';
process.env.CREDS_IV = '0123456789abcdef';
/** Skip tests if ANTHROPIC_API_KEY is not available */
const SKIP_INTEGRATION_TESTS = !process.env.ANTHROPIC_API_KEY;
if (SKIP_INTEGRATION_TESTS) {
console.warn('ANTHROPIC_API_KEY not found - skipping integration tests');
}
const shouldRunLive =
process.env.RUN_RESPONSES_LIVE_TESTS === '1' &&
process.env.ANTHROPIC_API_KEY != null &&
process.env.ANTHROPIC_API_KEY !== '';
jest.mock('meilisearch', () => ({
MeiliSearch: jest.fn().mockImplementation(() => ({
@ -69,9 +71,13 @@ jest.mock('~/app/clients/tools', () => ({
jest.mock('~/config', () => ({
createMCPServersRegistry: jest.fn(),
getMCPServersRegistry: jest.fn().mockReturnValue({
ensureConfigServers: jest.fn().mockResolvedValue({}),
}),
createMCPManager: jest.fn().mockResolvedValue({
getAppToolFunctions: jest.fn().mockResolvedValue({}),
}),
getMCPManager: jest.fn().mockReturnValue({}),
}));
const express = require('express');
@ -369,9 +375,9 @@ async function createThinkingAgent(overrides = {}) {
});
}
const describeWithApiKey = SKIP_INTEGRATION_TESTS ? describe.skip : describe;
const describeIfLive = shouldRunLive ? describe : describe.skip;
describeWithApiKey('Open Responses API Integration Tests', () => {
describeIfLive('Open Responses API Integration Tests', () => {
// Increase timeout for real API calls
jest.setTimeout(120000);

View file

@ -67,8 +67,8 @@ jest.mock('~/utils', () => ({
}));
function getFileInput(container: HTMLElement): HTMLInputElement {
const input = container.querySelector('input[type="file"]');
if (!(input instanceof HTMLInputElement)) {
const input = container.querySelector<HTMLInputElement>('input[type="file"]');
if (input == null) {
throw new Error('Upload input was not rendered');
}
return input;