7de788ceed
* feat: add cross-integration entity references * fix(web): anchor entity reference menu to composer * fix: keep Kandev tasks under @ mentions * fix: address entity reference review findings * test(e2e): use option role for prompt menu * test(e2e): update passthrough mention roles * fix: preserve queued references and paginate Azure PRs
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import { cleanup, renderHook } from "@testing-library/react";
|
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
|
|
vi.mock("@/hooks/use-entity-reference-search", () => ({
|
|
useEntityReferenceSearch: () => ({
|
|
groups: [],
|
|
isSearching: false,
|
|
error: null,
|
|
retry: vi.fn(),
|
|
}),
|
|
}));
|
|
|
|
import { useEntityReferenceComposer } from "./use-entity-reference-composer";
|
|
|
|
afterEach(cleanup);
|
|
|
|
describe("useEntityReferenceComposer lifecycle", () => {
|
|
it("installs the # suggestion on an enabled surface before workspace hydration", () => {
|
|
const { result } = renderHook(() =>
|
|
useEntityReferenceComposer({
|
|
enabled: true,
|
|
workspaceId: null,
|
|
sessionId: "session-1",
|
|
}),
|
|
);
|
|
|
|
expect(result.current.suggestion).toBeDefined();
|
|
expect(result.current.isOpen).toBe(false);
|
|
});
|
|
|
|
it("does not install the # suggestion on an out-of-scope surface", () => {
|
|
const { result } = renderHook(() =>
|
|
useEntityReferenceComposer({
|
|
enabled: false,
|
|
workspaceId: "workspace-1",
|
|
sessionId: "session-1",
|
|
}),
|
|
);
|
|
|
|
expect(result.current.suggestion).toBeUndefined();
|
|
});
|
|
});
|