import { render, screen } from "@testing-library/react"; import { useEffect } from "react"; import { useForm } from "react-hook-form"; import { describe, expect, it } from "vitest"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "./Form"; interface TestValues { providerUid: string; } function TestFormWithError() { const form = useForm({ defaultValues: { providerUid: "", }, }); useEffect(() => { form.setError("providerUid", { type: "manual", message: "Provider ID is required", }); }, [form]); return (
( Provider UID )} /> ); } describe("Form", () => { it("should use the existing error text token for labels and messages", async () => { // Given render(); // When const label = await screen.findByText("Provider UID"); const message = await screen.findByText("Provider ID is required"); // Then expect(label).toHaveClass("text-text-error-primary"); expect(message).toHaveClass("text-text-error-primary"); }); });