32 lines
965 B
TypeScript
32 lines
965 B
TypeScript
import { describe, expect, test } from "bun:test";
|
|
import { renderToStaticMarkup } from "react-dom/server";
|
|
import { EventCard } from "@/components/event-card";
|
|
import type { CalendarEvent } from "@/lib/types";
|
|
|
|
const sampleEvent: CalendarEvent = {
|
|
id: "evt_1",
|
|
title: "Design Review",
|
|
start: "2026-04-09T10:00:00+00:00",
|
|
end: "2026-04-09T11:00:00+00:00",
|
|
description: "Review the updated event list UI.",
|
|
location: "Studio A",
|
|
url: "https://example.com/event",
|
|
allDay: false,
|
|
};
|
|
|
|
describe("EventCard actions trigger", () => {
|
|
test("shows the triple-dots trigger without requiring hover and exposes an aria-label for the icon-only button", () => {
|
|
const markup = renderToStaticMarkup(
|
|
EventCard({
|
|
event: sampleEvent,
|
|
onEdit: () => {},
|
|
onDelete: () => {},
|
|
}),
|
|
);
|
|
|
|
expect(markup).toContain('aria-label="Event actions"');
|
|
expect(markup).not.toContain("opacity-0");
|
|
expect(markup).not.toContain("group-hover:opacity-100");
|
|
});
|
|
});
|