From bb87e49ab20b472bbf0a7c56a5159556873fa462 Mon Sep 17 00:00:00 2001 From: Dotta Date: Thu, 11 Jun 2026 16:06:11 +0000 Subject: [PATCH] Add Skills Store version diff regression test Co-Authored-By: Paperclip --- ui/src/pages/CompanySkills.test.tsx | 276 ++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 ui/src/pages/CompanySkills.test.tsx diff --git a/ui/src/pages/CompanySkills.test.tsx b/ui/src/pages/CompanySkills.test.tsx new file mode 100644 index 00000000000..df199276c41 --- /dev/null +++ b/ui/src/pages/CompanySkills.test.tsx @@ -0,0 +1,276 @@ +// @vitest-environment jsdom + +import type { ComponentProps, ReactNode } from "react"; +import { flushSync } from "react-dom"; +import { createRoot, type Root } from "react-dom/client"; +import type { CompanySkillDetail, CompanySkillVersion } from "@paperclipai/shared"; +import { afterEach, describe, expect, it, vi } from "vitest"; +import { SkillDetailPage, getSkillVersionDiffSelection } from "./CompanySkills"; + +vi.mock("@/lib/router", () => ({ + Link: ({ children, to, ...props }: { children: ReactNode; to: string }) => ( + {children} + ), + useNavigate: () => vi.fn(), + useParams: () => ({}), + useSearchParams: () => [new URLSearchParams(), vi.fn()], +})); + +vi.mock("@/components/ui/button", () => ({ + Button: ({ + children, + type = "button", + variant: _variant, + size: _size, + asChild: _asChild, + ...props + }: ComponentProps<"button"> & { asChild?: boolean; variant?: string; size?: string }) => ( + + ), +})); + +vi.mock("@/components/ui/dialog", () => ({ + Dialog: ({ open, children }: { open?: boolean; children: ReactNode }) => (open ?
{children}
: null), + DialogContent: ({ children }: { children: ReactNode }) =>
{children}
, + DialogDescription: ({ children }: { children: ReactNode }) =>

{children}

, + DialogFooter: ({ children }: { children: ReactNode }) =>
{children}
, + DialogHeader: ({ children }: { children: ReactNode }) =>
{children}
, + DialogTitle: ({ children }: { children: ReactNode }) =>

{children}

, +})); + +vi.mock("@/components/ui/dropdown-menu", () => ({ + DropdownMenu: ({ children }: { children: ReactNode }) => <>{children}, + DropdownMenuContent: () => null, + DropdownMenuItem: ({ children, onSelect }: { children: ReactNode; onSelect?: () => void }) => ( + + ), + DropdownMenuLabel: ({ children }: { children: ReactNode }) =>
{children}
, + DropdownMenuRadioGroup: ({ children }: { children: ReactNode }) =>
{children}
, + DropdownMenuRadioItem: ({ children, onSelect }: { children: ReactNode; onSelect?: () => void }) => ( + + ), + DropdownMenuSeparator: () =>
, + DropdownMenuTrigger: ({ children }: { children: ReactNode }) => <>{children}, +})); + +vi.mock("@/components/ui/popover", () => ({ + Popover: ({ children }: { children: ReactNode }) => <>{children}, + PopoverContent: () => null, + PopoverTrigger: ({ children }: { children: ReactNode }) => <>{children}, +})); + +vi.mock("@/components/ui/tooltip", () => ({ + Tooltip: ({ children }: { children: ReactNode }) => <>{children}, + TooltipContent: ({ children }: { children: ReactNode }) => {children}, + TooltipTrigger: ({ children }: { children: ReactNode }) => <>{children}, +})); + +vi.mock("@/components/ui/tabs", () => ({ + Tabs: ({ children }: { children: ReactNode }) =>
{children}
, + TabsList: ({ children }: { children: ReactNode }) =>
{children}
, + TabsTrigger: ({ children }: { children: ReactNode }) => , +})); + +vi.mock("@/components/ui/checkbox", () => ({ + Checkbox: (props: ComponentProps<"input">) => , +})); + +vi.mock("../components/MarkdownBody", () => ({ + MarkdownBody: ({ children }: { children: ReactNode }) =>
{children}
, +})); + +vi.mock("../components/MarkdownEditor", () => ({ + MarkdownEditor: ({ value }: { value: string }) =>