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