mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-17 04:12:17 +03:00
Validado em lote numa worktree combinada com os 9 PRs desta leva sobre o tip de `release/v3.8.51`: `typecheck:core` limpo, `check:provider-consistency` OK (273 entradas REGISTRY, **356** providers canônicos), `check-docs-counts-sync` exit 0 e **300/300** nos testes que a leva toca. O crescimento de arquivo que os PRs empilham uns sobre os outros foi rebaselinado num único registro datado (`_rebaseline_2026_09_03_houminxi_batch`), com a decomposição por arquivo: `providers/page.tsx` +18 (import CSV do #12504 + busca do #12495 no mesmo painel), `accountFallback.ts` +6 (o #12566 sobre o rebaseline que o #12590 já registrou — os dois tocam `checkFallbackError`) e `chatCore.ts` +3 (invalidez de cache de quota no 429 do #12325). As violações restantes (`codex.ts`, `stream.ts`) foram medidas também no tip puro e são drift da base, não desta leva.
55 lines
1.5 KiB
TypeScript
55 lines
1.5 KiB
TypeScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
const { createProviderNodeSchema, updateProviderNodeSchema } =
|
|
await import("../../src/shared/validation/schemas/provider.ts");
|
|
|
|
const BASE = {
|
|
name: "Moonshot native",
|
|
prefix: "mnative",
|
|
baseUrl: "https://api.moonshot.cn/v1",
|
|
};
|
|
|
|
test("updateProviderNodeSchema accepts IANA timezone + hour 0", () => {
|
|
const result = updateProviderNodeSchema.safeParse({
|
|
...BASE,
|
|
dailyQuotaResetTimezone: "Asia/Shanghai",
|
|
dailyQuotaResetHour: 0,
|
|
});
|
|
assert.equal(result.success, true);
|
|
});
|
|
|
|
test("updateProviderNodeSchema rejects unknown timezone", () => {
|
|
const result = updateProviderNodeSchema.safeParse({
|
|
...BASE,
|
|
dailyQuotaResetTimezone: "Shanghai",
|
|
dailyQuotaResetHour: 0,
|
|
});
|
|
assert.equal(result.success, false);
|
|
});
|
|
|
|
test("updateProviderNodeSchema rejects hour 24", () => {
|
|
const result = updateProviderNodeSchema.safeParse({
|
|
...BASE,
|
|
dailyQuotaResetTimezone: "Asia/Shanghai",
|
|
dailyQuotaResetHour: 24,
|
|
});
|
|
assert.equal(result.success, false);
|
|
});
|
|
|
|
test("updateProviderNodeSchema accepts omitted reset clock", () => {
|
|
const result = updateProviderNodeSchema.safeParse(BASE);
|
|
assert.equal(result.success, true);
|
|
});
|
|
|
|
test("createProviderNodeSchema accepts IANA timezone + hour", () => {
|
|
const result = createProviderNodeSchema.safeParse({
|
|
...BASE,
|
|
apiType: "chat",
|
|
type: "openai-compatible",
|
|
dailyQuotaResetTimezone: "UTC",
|
|
dailyQuotaResetHour: 0,
|
|
});
|
|
assert.equal(result.success, true);
|
|
});
|