24 lines
1.4 KiB
TypeScript
24 lines
1.4 KiB
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { initialToolState } from "@editor/tools";
|
|
import { resolveGenerationModeOptions, resolveGenerationModelOptions } from "./options";
|
|
|
|
describe("generation compatibility options", () => {
|
|
test("uses backend compatibility data for modes", () => {
|
|
const settings = { ...initialToolState.generate, architecture: "anima" as const, mode: "inpaint" as const };
|
|
const modes = [
|
|
{ value: "text-to-image" as const, label: "Text" },
|
|
{ value: "inpaint" as const, label: "Inpaint" },
|
|
];
|
|
const options = { architectures: [{ value: "anima" as const, label: "Anima", models: [], defaultModel: "auto", supportedModes: ["text-to-image" as const] }], models: [], samplers: [], schedulers: [], textEncoders: [], vaes: [] };
|
|
|
|
expect(resolveGenerationModeOptions(settings, options, modes).map((option) => option.value)).toEqual(["inpaint", "text-to-image"]);
|
|
});
|
|
|
|
test("keeps the current model alongside discovered models", () => {
|
|
const settings = { ...initialToolState.generate, model: "current.safetensors" };
|
|
const options = { architectures: [], models: ["found.safetensors"], samplers: [], schedulers: [], textEncoders: [], vaes: [] };
|
|
|
|
expect(resolveGenerationModelOptions(settings, options).map((option) => option.value)).toEqual(["auto", "found.safetensors", "current.safetensors"]);
|
|
});
|
|
});
|