import { render, screen } from "@testing-library/react"; import { describe, expect, it, vi } from "vitest"; import { MarqueeSettingsForm } from "@/components/admin/marquee-settings-form"; import { buildDefaultMarqueeSettings } from "@/lib/marquee-settings"; describe("MarqueeSettingsForm", () => { it("renders a textarea per row with german default values", () => { const settings = buildDefaultMarqueeSettings(); settings.locales.de.row1 = "First row value"; render(); for (const name of ["row1-de", "row2-de", "row3-de", "row4-de"]) { const field = document.querySelector(`textarea[name="${name}"]`); expect(field).not.toBeNull(); } expect((document.querySelector('textarea[name="row1-de"]') as HTMLTextAreaElement).value).toBe( "First row value", ); }); it("wires the server action onto the form and renders a submit button", () => { const action = vi.fn(); render(); expect(document.querySelector("form#marquee-settings-form")).not.toBeNull(); expect(screen.getByRole("button", { name: /save marquee/i })).toBeInTheDocument(); }); });