Spaces:
Build error
Build error
| 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( | |
| <TrajectoryActions | |
| onPositiveFeedback={onPositiveFeedback} | |
| onNegativeFeedback={onNegativeFeedback} | |
| onExportTrajectory={onExportTrajectory} | |
| />, | |
| ); | |
| 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( | |
| <TrajectoryActions | |
| onPositiveFeedback={onPositiveFeedback} | |
| onNegativeFeedback={onNegativeFeedback} | |
| onExportTrajectory={onExportTrajectory} | |
| />, | |
| ); | |
| const positiveFeedback = screen.getByTestId("positive-feedback"); | |
| await user.click(positiveFeedback); | |
| expect(onPositiveFeedback).toHaveBeenCalled(); | |
| }); | |
| it("should call onNegativeFeedback when negative feedback is clicked", async () => { | |
| renderWithProviders( | |
| <TrajectoryActions | |
| onPositiveFeedback={onPositiveFeedback} | |
| onNegativeFeedback={onNegativeFeedback} | |
| onExportTrajectory={onExportTrajectory} | |
| />, | |
| ); | |
| const negativeFeedback = screen.getByTestId("negative-feedback"); | |
| await user.click(negativeFeedback); | |
| expect(onNegativeFeedback).toHaveBeenCalled(); | |
| }); | |
| it("should call onExportTrajectory when export button is clicked", async () => { | |
| renderWithProviders( | |
| <TrajectoryActions | |
| onPositiveFeedback={onPositiveFeedback} | |
| onNegativeFeedback={onNegativeFeedback} | |
| onExportTrajectory={onExportTrajectory} | |
| />, | |
| ); | |
| const exportButton = screen.getByTestId("export-trajectory"); | |
| await user.click(exportButton); | |
| expect(onExportTrajectory).toHaveBeenCalled(); | |
| }); | |
| }); | |