From b315f5914ae4a4d7c8fcfbbe3569728f647b6459 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Sat, 11 Apr 2026 02:04:53 +0000 Subject: [PATCH] test(cli): make codex model assertions resilient to catalog changes The 15-provider test hard-coded exact model IDs (gpt-5.3-codex-spark, etc.) which depend on the external codex CLI's model/list endpoint. Replace with structural checks: all IDs in gpt- family, at least one codex-optimized model, and all models have required fields. Co-Authored-By: Claude Opus 4.6 --- packages/cli/tests/15-provider.test.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/cli/tests/15-provider.test.ts b/packages/cli/tests/15-provider.test.ts index 3cde05673..be95e118c 100644 --- a/packages/cli/tests/15-provider.test.ts +++ b/packages/cli/tests/15-provider.test.ts @@ -194,10 +194,18 @@ try { assert(data.length >= 5, "codex model list should include current codex lineup"); const ids = data.map((m) => m.id); assert.strictEqual(new Set(ids).size, ids.length, "codex model IDs should be unique"); - assert(ids.includes("gpt-5.3-codex"), "codex output should include gpt-5.3-codex"); - assert(ids.includes("gpt-5.3-codex-spark"), "codex output should include gpt-5.3-codex-spark"); - assert(ids.includes("gpt-5.4"), "codex output should include gpt-5.4"); - assert(ids.includes("gpt-5.4-mini"), "codex output should include gpt-5.4-mini"); + assert( + ids.every((id) => id.startsWith("gpt-")), + "all codex model IDs should be from the gpt family", + ); + assert( + ids.some((id) => id.includes("codex")), + "codex model list should include at least one codex-optimized model", + ); + assert( + data.every((m) => m.model && m.id && m.description), + "every codex model should have model, id, and description fields", + ); console.log("✓ provider models codex includes concrete codex model IDs\n"); }