diff --git a/ui/litellm-dashboard/src/components/playground/compareUI/CompareUI.test.tsx b/ui/litellm-dashboard/src/components/playground/compareUI/CompareUI.test.tsx index 1941943a58..963b752774 100644 --- a/ui/litellm-dashboard/src/components/playground/compareUI/CompareUI.test.tsx +++ b/ui/litellm-dashboard/src/components/playground/compareUI/CompareUI.test.tsx @@ -2,6 +2,7 @@ import { render, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { beforeEach, describe, expect, it, vi } from "vitest"; import CompareUI from "./CompareUI"; +import { makeOpenAIChatCompletionRequest } from "../llm_calls/chat_completion"; vi.mock("../llm_calls/fetch_models", () => ({ fetchAvailableModels: vi.fn().mockResolvedValue([{ model_group: "gpt-4" }, { model_group: "gpt-3.5-turbo" }]), @@ -11,6 +12,34 @@ vi.mock("../llm_calls/chat_completion", () => ({ makeOpenAIChatCompletionRequest: vi.fn().mockResolvedValue(undefined), })); +let capturedOnImageUpload: ((file: File) => false) | null = null; + +vi.mock("../chat_ui/ChatImageUpload", () => ({ + default: ({ onImageUpload }: { onImageUpload: (file: File) => false }) => { + capturedOnImageUpload = onImageUpload; + return ( +
+ +
+ ); + }, +})); + +vi.mock("../chat_ui/ChatImageUtils", () => ({ + createChatMultimodalMessage: vi.fn().mockResolvedValue({ + role: "user", + content: [ + { type: "text", text: "test message" }, + { type: "image_url", image_url: { url: "data:image/png;base64,test" } }, + ], + }), + createChatDisplayMessage: vi.fn().mockReturnValue({ + role: "user", + content: "test message [Image attached]", + imagePreviewUrl: "blob:test-url", + }), +})); + vi.mock("./components/ComparisonPanel", () => ({ ComparisonPanel: ({ comparison, onRemove }: { comparison: any; onRemove: () => void }) => (
@@ -22,8 +51,9 @@ vi.mock("./components/ComparisonPanel", () => ({ })); vi.mock("./components/MessageInput", () => ({ - MessageInput: ({ value, onChange, onSend, disabled }: any) => ( + MessageInput: ({ value, onChange, onSend, disabled, hasAttachment, uploadComponent }: any) => (
+ {uploadComponent &&
{uploadComponent}
}