import { screen, within } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { afterEach, describe, expect, it, vi } from "vitest"; import { renderWithProviders } from "test-utils"; import { TrajectoryActions } from "#/components/features/trajectory/trajectory-actions"; describe("TrajectoryActions", () => { const user = userEvent.setup(); const onPositiveFeedback = vi.fn(); const onNegativeFeedback = vi.fn(); const onExportTrajectory = vi.fn(); afterEach(() => { vi.clearAllMocks(); }); it("should render correctly", () => { renderWithProviders( , ); const actions = screen.getByTestId("feedback-actions"); within(actions).getByTestId("positive-feedback"); within(actions).getByTestId("negative-feedback"); within(actions).getByTestId("export-trajectory"); }); it("should call onPositiveFeedback when positive feedback is clicked", async () => { renderWithProviders( , ); const positiveFeedback = screen.getByTestId("positive-feedback"); await user.click(positiveFeedback); expect(onPositiveFeedback).toHaveBeenCalled(); }); it("should call onNegativeFeedback when negative feedback is clicked", async () => { renderWithProviders( , ); const negativeFeedback = screen.getByTestId("negative-feedback"); await user.click(negativeFeedback); expect(onNegativeFeedback).toHaveBeenCalled(); }); it("should call onExportTrajectory when export button is clicked", async () => { renderWithProviders( , ); const exportButton = screen.getByTestId("export-trajectory"); await user.click(exportButton); expect(onExportTrajectory).toHaveBeenCalled(); }); });