test(qa-lab): use OpenAI plugin for mock image generation

This commit is contained in:
Peter Steinberger
2026-05-03 03:34:36 +01:00
parent 994bfc1cb9
commit dda2cf4e73
2 changed files with 13 additions and 7 deletions

View File

@@ -2,16 +2,18 @@ import { describe, expect, it } from "vitest";
import { buildQaImageGenerationConfigPatch } from "./image-generation.js";
describe("QA provider image generation config", () => {
it("uses the selected mock provider for mock-openai image generation", () => {
it("uses the OpenAI image provider against the selected mock-openai endpoint", () => {
const patch = buildQaImageGenerationConfigPatch({
providerMode: "mock-openai",
providerBaseUrl: "http://127.0.0.1:44080/v1",
requiredPluginIds: ["qa-channel"],
});
expect(patch.plugins.allow).toEqual(["acpx", "memory-core", "qa-channel"]);
expect(patch.agents.defaults.imageGenerationModel.primary).toBe("mock-openai/gpt-image-1");
expect(patch.plugins.allow).toEqual(["acpx", "memory-core", "openai", "qa-channel"]);
expect(patch.plugins.entries?.openai).toEqual({ enabled: true });
expect(patch.agents.defaults.imageGenerationModel.primary).toBe("openai/gpt-image-1");
expect(patch.models?.providers["mock-openai"]?.baseUrl).toBe("http://127.0.0.1:44080/v1");
expect(patch.models?.providers.openai?.baseUrl).toBe("http://127.0.0.1:44080/v1");
});
it("preserves already-allowed plugins when configuring image generation", () => {

View File

@@ -22,9 +22,12 @@ function uniqueNonEmpty(values: readonly (string | null | undefined)[]) {
export function buildQaImageGenerationConfigPatch(input: QaImageGenerationPatchInput) {
const provider = getQaProvider(input.providerMode);
const imageModelRef = provider.defaultImageGenerationModel({
modelProviderIds: provider.defaultImageGenerationProviderIds,
});
const usesOpenAiMockImageProvider = input.providerMode === "mock-openai";
const imageModelRef = usesOpenAiMockImageProvider
? "openai/gpt-image-1"
: provider.defaultImageGenerationModel({
modelProviderIds: provider.defaultImageGenerationProviderIds,
});
if (!imageModelRef) {
throw new Error(
`QA provider "${input.providerMode}" does not expose an image generation model`,
@@ -42,7 +45,8 @@ export function buildQaImageGenerationConfigPatch(input: QaImageGenerationPatchI
providerBaseUrl: input.providerBaseUrl,
});
})();
const providerPluginIds = provider.usesModelProviderPlugins ? [imageProviderId] : [];
const providerPluginIds =
provider.usesModelProviderPlugins || usesOpenAiMockImageProvider ? [imageProviderId] : [];
const enabledPluginIds = uniqueNonEmpty(providerPluginIds);
return {