- Adjust llama.cpp provider card markup and CSS to keep compact spacing aligned with list view and workflow styling updates - Add regression tests for compact llama.cpp card layout behavior in dashboard component tests - Expand merge error recovery tests in the engine to validate deduped auto-merge retry handling and related project-engine flow changes - Update architecture/task management docs and include changeset metadata for auto-merge recovery dedup work Fusion-Task-Id: FN-3431
43 lines
1.7 KiB
TypeScript
43 lines
1.7 KiB
TypeScript
import { fireEvent, render, screen, waitFor } from "@testing-library/react";
|
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
import { LlamaCppProviderCard } from "../LlamaCppProviderCard";
|
|
|
|
const fetchLlamaCppStatus = vi.fn();
|
|
const setLlamaCppEnabled = vi.fn();
|
|
|
|
vi.mock("../../api", () => ({
|
|
fetchLlamaCppStatus: (...args: unknown[]) => fetchLlamaCppStatus(...args),
|
|
setLlamaCppEnabled: (...args: unknown[]) => setLlamaCppEnabled(...args),
|
|
}));
|
|
|
|
describe("LlamaCppProviderCard", () => {
|
|
beforeEach(() => {
|
|
fetchLlamaCppStatus.mockResolvedValue({
|
|
enabled: false,
|
|
ready: false,
|
|
extension: { status: "ok" },
|
|
server: { available: true, url: "http://127.0.0.1:8080", hasApiKey: false },
|
|
});
|
|
setLlamaCppEnabled.mockResolvedValue({ enabled: true, restartRequired: false });
|
|
});
|
|
|
|
it("renders and enables provider", async () => {
|
|
render(<LlamaCppProviderCard authenticated={false} />);
|
|
await waitFor(() => expect(fetchLlamaCppStatus).toHaveBeenCalled());
|
|
fireEvent.click(screen.getByRole("button", { name: "Enable" }));
|
|
await waitFor(() => expect(setLlamaCppEnabled).toHaveBeenCalledWith(true));
|
|
});
|
|
|
|
it("uses shared auth card layout in compact settings mode", async () => {
|
|
render(<LlamaCppProviderCard authenticated={false} compact />);
|
|
|
|
const card = await screen.findByTestId("llama-cpp-provider-card");
|
|
expect(card.className).toContain("auth-provider-card");
|
|
|
|
expect(card.querySelector(".auth-provider-header")).toBeTruthy();
|
|
expect(card.querySelector(".auth-provider-info")).toBeTruthy();
|
|
expect(card.querySelector(".auth-provider-cli-actions")).toBeTruthy();
|
|
expect(card.querySelector(".auth-hint.llama-cpp-status")).toBeTruthy();
|
|
});
|
|
});
|