29 lines
1.9 KiB
TypeScript
29 lines
1.9 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { AccordionRootPropsSchema, AccordionMeta } from "../../src/components/accordion/accordion.props";
|
|
import { CollapsibleRootPropsSchema, CollapsibleMeta } from "../../src/components/collapsible/collapsible.props";
|
|
import { AlertDialogRootPropsSchema, AlertDialogMeta } from "../../src/components/alert-dialog/alert-dialog.props";
|
|
import { BreadcrumbsRootPropsSchema, BreadcrumbsMeta } from "../../src/components/breadcrumbs/breadcrumbs.props";
|
|
import { TabsRootPropsSchema, TabsMeta } from "../../src/components/tabs/tabs.props";
|
|
describe("Disclosure component schemas", () => {
|
|
it("Accordion validates", () => {
|
|
expect(AccordionRootPropsSchema.safeParse({ value: "item-1" }).success).toBe(true);
|
|
expect(AccordionRootPropsSchema.safeParse({ value: ["item-1", "item-2"], multiple: true }).success).toBe(true);
|
|
});
|
|
it("Collapsible validates", () => { expect(CollapsibleRootPropsSchema.safeParse({ open: true, disabled: false }).success).toBe(true); });
|
|
it("AlertDialog validates", () => { expect(AlertDialogRootPropsSchema.safeParse({ open: false }).success).toBe(true); });
|
|
it("Breadcrumbs validates", () => { expect(BreadcrumbsRootPropsSchema.safeParse({ separator: ">" }).success).toBe(true); });
|
|
it("Tabs validates", () => {
|
|
expect(TabsRootPropsSchema.safeParse({ value: "tab1", orientation: "vertical", activationMode: "manual" }).success).toBe(true);
|
|
expect(TabsRootPropsSchema.safeParse({ orientation: "diagonal" }).success).toBe(false);
|
|
});
|
|
it("all Meta objects valid", () => {
|
|
const metas = [AccordionMeta, CollapsibleMeta, AlertDialogMeta, BreadcrumbsMeta, TabsMeta];
|
|
for (const meta of metas) {
|
|
expect(meta.name).toBeTruthy();
|
|
expect(meta.description).toBeTruthy();
|
|
expect(meta.parts.length).toBeGreaterThan(0);
|
|
expect(meta.requiredParts.length).toBeGreaterThan(0);
|
|
}
|
|
});
|
|
});
|