first commit
This commit is contained in:
33
calcom/packages/ui/components/toast/toast.test.tsx
Normal file
33
calcom/packages/ui/components/toast/toast.test.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
import { render, screen, fireEvent } from "@testing-library/react";
|
||||
import { vi } from "vitest";
|
||||
|
||||
import { SuccessToast, ErrorToast, WarningToast, DefaultToast } from "./showToast";
|
||||
|
||||
describe("Tests for Toast Components", () => {
|
||||
const testToastComponent = (Component: typeof DefaultToast, toastTestId: string) => {
|
||||
const message = "This is a test message";
|
||||
const toastId = "some-id";
|
||||
|
||||
const onCloseMock = vi.fn();
|
||||
render(<Component message={message} toastVisible={true} onClose={onCloseMock} toastId={toastId} />);
|
||||
|
||||
const toast = screen.getByTestId(toastTestId);
|
||||
expect(toast).toBeInTheDocument();
|
||||
expect(toast.textContent).toContain(message);
|
||||
|
||||
const closeButton = screen.getByRole("button");
|
||||
fireEvent.click(closeButton);
|
||||
expect(onCloseMock).toHaveBeenCalledWith(toastId);
|
||||
};
|
||||
|
||||
const toastComponents: [string, typeof DefaultToast, string][] = [
|
||||
["SuccessToast", SuccessToast, "toast-success"],
|
||||
["ErrorToast", ErrorToast, "toast-error"],
|
||||
["WarningToast", WarningToast, "toast-warning"],
|
||||
["DefaultToast", DefaultToast, "toast-default"],
|
||||
];
|
||||
|
||||
test.each(toastComponents)("Should render and close %s component", (_, ToastComponent, expectedClass) => {
|
||||
testToastComponent(ToastComponent, expectedClass);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user