ai-chatbot/tests/routes/model-health-classification.test.ts

25 lines
843 B
TypeScript

import { expect, test } from "@playwright/test";
import {
isMediaInputFailure,
isNonProviderRequestStatus,
} from "@/lib/ai/runtime/request-failure-classification";
test.describe("AI model health request classification", () => {
test("does not treat rejected media as a provider outage", () => {
expect(
isMediaInputFailure("The media request is invalid. (HTTP 400)"),
).toBe(true);
expect(
isMediaInputFailure("VIP98K reference staging failed: fetch failed"),
).toBe(true);
});
test("recognizes request-specific HTTP failures", () => {
expect(isNonProviderRequestStatus(413, "payload too large")).toBe(true);
expect(isNonProviderRequestStatus(null, "request failed (HTTP 422)")).toBe(
true,
);
expect(isNonProviderRequestStatus(503, "service unavailable")).toBe(false);
});
});