源码快照 @ 2026-09-02 (source-only, 剔除非源码素材)
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
|
||||
import type { ModelOption } from "../src/app/types";
|
||||
import {
|
||||
buildCommandPaletteBehaviorItems,
|
||||
buildCommandPaletteModelItems,
|
||||
commandPaletteBackMode,
|
||||
} from "../src/react-app/shell/command-palette-models";
|
||||
|
||||
const option: ModelOption = {
|
||||
providerID: "provider-id",
|
||||
modelID: "model-id",
|
||||
title: "Model Title",
|
||||
description: "Provider Title",
|
||||
behaviorTitle: "Reasoning Effort",
|
||||
behaviorLabel: "Low",
|
||||
behaviorDescription: "Less reasoning",
|
||||
behaviorValue: "low",
|
||||
behaviorOptions: [
|
||||
{ value: "low", label: "Low", description: "Less reasoning" },
|
||||
{ value: "high", label: "High", description: "More reasoning" },
|
||||
],
|
||||
isFree: false,
|
||||
};
|
||||
|
||||
describe("command palette models", () => {
|
||||
test("builds searchable model rows from title, provider, and model id", () => {
|
||||
const [item] = buildCommandPaletteModelItems([option], {
|
||||
providerID: option.providerID,
|
||||
modelID: option.modelID,
|
||||
});
|
||||
|
||||
expect(item?.searchText).toContain("Model Title");
|
||||
expect(item?.searchText).toContain("Provider Title");
|
||||
expect(item?.searchText).toContain("provider-id");
|
||||
expect(item?.searchText).toContain("model-id");
|
||||
expect(item?.meta).toBe("Current");
|
||||
});
|
||||
|
||||
test("builds behavior rows and marks the current explicit variant", () => {
|
||||
const items = buildCommandPaletteBehaviorItems(
|
||||
option,
|
||||
{ providerID: option.providerID, modelID: option.modelID },
|
||||
"high",
|
||||
);
|
||||
|
||||
expect(items.map((item) => item.title)).toEqual(["Low", "High"]);
|
||||
expect(items[1]?.meta).toBe("Current");
|
||||
expect(items[1]?.searchText).toContain("More reasoning");
|
||||
});
|
||||
|
||||
test("navigates behavior to models to root", () => {
|
||||
expect(commandPaletteBackMode("model-behavior")).toBe("models");
|
||||
expect(commandPaletteBackMode("models")).toBe("root");
|
||||
expect(commandPaletteBackMode("split-sessions")).toBe("root");
|
||||
expect(commandPaletteBackMode("root")).toBeNull();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user