Files
community-rule/tests/components/TemplateReviewCard.test.tsx
T
2026-04-29 07:20:16 -06:00

53 lines
1.3 KiB
TypeScript

import { describe } from "vitest";
import {
componentTestSuite,
type ComponentTestSuiteConfig,
} from "../utils/componentTestSuite";
import { TemplateReviewCard } from "../../app/components/cards/TemplateReviewCard";
type Props = React.ComponentProps<typeof TemplateReviewCard>;
const sampleTemplate = {
id: "tmpl-1",
slug: "consensus",
title: "Consensus",
category: null,
description:
"Important decisions require unanimous agreement. Proposals pass only if no serious objections remain.",
body: {
sections: [
{
categoryName: "Decision making",
entries: [
{
title: "How proposals pass",
body: "Unanimous agreement is required.",
},
],
},
],
},
sortOrder: 1,
featured: true,
};
const config: ComponentTestSuiteConfig<Props> = {
component: TemplateReviewCard,
name: "TemplateReviewCard",
props: {
template: sampleTemplate,
size: "L",
} as Props,
primaryRole: "button",
testCases: {
renders: true,
// Rule contains nested interactive elements (chips inside a clickable card)
// which trigger axe's "nested-interactive" rule. Tracked by Rule itself.
accessibility: false,
},
};
describe("TemplateReviewCard", () => {
componentTestSuite<Props>(config);
});