import { renderToStaticMarkup } from "react-dom/server";
import { describe, expect, it } from "vitest";
import { Alert, AlertDescription, AlertTitle } from "@/components/ds/ui/alert";
import { Badge } from "@/components/ds/ui/badge";
import { Button } from "@/components/ds/ui/button";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ds/ui/card";
import {
Dialog,
DialogContent,
DialogDescription,
DialogFooter,
DialogHeader,
DialogTitle,
} from "@/components/ds/ui/dialog";
import { Input } from "@/components/ds/ui/input";
import { Label } from "@/components/ds/ui/label";
import { Separator } from "@/components/ds/ui/separator";
import { Skeleton } from "@/components/ds/ui/skeleton";
import { Checkbox } from "@/components/ds/ui/checkbox";
import {
Tabs,
TabsContent,
TabsList,
TabsTrigger,
} from "@/components/ds/ui/tabs";
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ds/ui/select";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ds/ui/dropdown-menu";
import {
Tooltip,
TooltipContent,
TooltipTrigger,
} from "@/components/ds/ui/tooltip";
describe("DS UI snapshots", () => {
it("button variants", () => {
const html = renderToStaticMarkup(
,
);
expect(html).toMatchSnapshot();
});
it("badge variants", () => {
const html = renderToStaticMarkup(
Default
Info
Critical
,
);
expect(html).toMatchSnapshot();
});
it("card composition", () => {
const html = renderToStaticMarkup(
Card Title
Card Description
Body
Footer
,
);
expect(html).toMatchSnapshot();
});
it("input and label", () => {
const html = renderToStaticMarkup(
,
);
expect(html).toMatchSnapshot();
});
it("alert destructive", () => {
const html = renderToStaticMarkup(
Error
Action failed.
,
);
expect(html).toMatchSnapshot();
});
it("skeleton", () => {
const html = renderToStaticMarkup();
expect(html).toMatchSnapshot();
});
it("separator vertical", () => {
const html = renderToStaticMarkup();
expect(html).toMatchSnapshot();
});
it("dialog section primitives", () => {
const html = renderToStaticMarkup(
,
);
expect(html).toMatchSnapshot();
});
it("tooltip content", () => {
const html = renderToStaticMarkup(
anchor
Tooltip text
,
);
expect(html).toMatchSnapshot();
});
it("checkbox checked", () => {
const html = renderToStaticMarkup(
,
);
expect(html).toMatchSnapshot();
});
it("tabs composition", () => {
const html = renderToStaticMarkup(
Details
Activity
Body
,
);
expect(html).toMatchSnapshot();
});
it("select composition", () => {
const html = renderToStaticMarkup(
,
);
expect(html).toMatchSnapshot();
});
it("dropdown trigger", () => {
const html = renderToStaticMarkup(
Action
,
);
expect(html).toMatchSnapshot();
});
});