feat(FN-3260): document static slot-host rendering contract

Documents the static slot-host rendering contract in `docs/PLUGIN_AUTHORING.md`, clarifying how plugins should interact with the rendering system.

Fusion-Task-Id: FN-3260
This commit is contained in:
Fusion
2026-05-04 20:13:09 -07:00
committed by gsxdsm
parent e0e871555d
commit fccec582f4
15 changed files with 283 additions and 234 deletions

View File

@@ -69,6 +69,10 @@ vi.mock("../CustomProviderForm", () => ({
),
}));
vi.mock("../PluginSlot", () => ({
PluginSlot: ({ slotId }: { slotId: string }) => <div data-testid={`plugin-slot-${slotId}`}>Plugin slot: {slotId}</div>,
}));
// Mock model-onboarding-state
const mockGetOnboardingState = vi.fn();
const mockSaveOnboardingState = vi.fn();
@@ -221,6 +225,10 @@ describe("ModelOnboardingModal", () => {
expect(screen.getByText("Set Up AI")).toBeTruthy();
});
expect(screen.getByTestId("plugin-slot-onboarding-provider-card")).toBeInTheDocument();
expect(screen.getByTestId("plugin-slot-onboarding-recommendation-card")).toBeInTheDocument();
expect(screen.getByTestId("plugin-slot-onboarding-setup-help")).toBeInTheDocument();
// Check step indicators
expect(screen.getByText("AI Setup")).toBeTruthy();
expect(screen.getByText("GitHub")).toBeTruthy();