import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { describe, expect, it, vi } from "vitest";
vi.mock("@/components/icons", () => ({
ProwlerBrand: () => Prowler,
}));
vi.mock("@/components/layout/sidebar/menu", () => ({
Menu: ({ onSelect }: { onSelect?: () => void }) => (
),
}));
import { SheetMenu } from "./sheet-menu";
describe("SheetMenu", () => {
it("should close after selecting a menu action", async () => {
// Given
const user = userEvent.setup();
render();
// When
await user.click(screen.getByRole("button", { name: "Open menu" }));
expect(screen.getByRole("dialog", { name: "Sidebar" })).toBeVisible();
await user.click(screen.getByRole("button", { name: "Alerts" }));
// Then
expect(
screen.queryByRole("dialog", { name: "Sidebar" }),
).not.toBeInTheDocument();
});
});