mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-25 13:45:03 +08:00
3fa3558bd4
# Conflicts: # src-tauri/src/provider.rs # src-tauri/src/services/stream_check.rs # src/components/providers/forms/ClaudeFormFields.tsx # src/components/providers/forms/ProviderForm.tsx # src/types.ts
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
extractCodexBaseUrl,
|
|
extractCodexModelName,
|
|
setCodexBaseUrl,
|
|
setCodexModelName,
|
|
} from "@/utils/providerConfigUtils";
|
|
|
|
describe("Codex TOML utils", () => {
|
|
it("removes base_url line when set to empty", () => {
|
|
const input = [
|
|
'model_provider = "openai"',
|
|
'base_url = "https://api.example.com/v1"',
|
|
'model = "gpt-5-codex"',
|
|
"",
|
|
].join("\n");
|
|
|
|
const output = setCodexBaseUrl(input, "");
|
|
|
|
expect(output).not.toMatch(/^\s*base_url\s*=/m);
|
|
expect(extractCodexBaseUrl(output)).toBeUndefined();
|
|
expect(extractCodexModelName(output)).toBe("gpt-5-codex");
|
|
});
|
|
|
|
it("removes model line when set to empty", () => {
|
|
const input = [
|
|
'model_provider = "openai"',
|
|
'base_url = "https://api.example.com/v1"',
|
|
'model = "gpt-5-codex"',
|
|
"",
|
|
].join("\n");
|
|
|
|
const output = setCodexModelName(input, "");
|
|
|
|
expect(output).not.toMatch(/^\s*model\s*=/m);
|
|
expect(extractCodexModelName(output)).toBeUndefined();
|
|
expect(extractCodexBaseUrl(output)).toBe("https://api.example.com/v1");
|
|
});
|
|
|
|
it("updates existing values when non-empty", () => {
|
|
const input = [
|
|
'model_provider = "openai"',
|
|
"base_url = 'https://old.example/v1'",
|
|
'model = "old-model"',
|
|
"",
|
|
].join("\n");
|
|
|
|
const output1 = setCodexBaseUrl(input, " https://new.example/v1 \n");
|
|
expect(extractCodexBaseUrl(output1)).toBe("https://new.example/v1");
|
|
|
|
const output2 = setCodexModelName(output1, " new-model \n");
|
|
expect(extractCodexModelName(output2)).toBe("new-model");
|
|
});
|
|
});
|