diff --git a/packages/ui/components/credits/credits.test.tsx b/packages/ui/components/credits/credits.test.tsx new file mode 100644 index 0000000000..0735728ecc --- /dev/null +++ b/packages/ui/components/credits/credits.test.tsx @@ -0,0 +1,35 @@ +/* eslint-disable playwright/missing-playwright-await */ +import { render, screen } from "@testing-library/react"; +import { vi } from "vitest"; + +import Credits from "./Credits"; + +vi.mock("../../../../apps/web/package.json", async () => { + return { + default: { + version: "mockedVersion", + }, + }; +}); + +describe("Tests for Credits component", () => { + test("Should render credits section with links", () => { + render(); + + const creditsLinkElement = screen.getByRole("link", { name: /Cal\.com, Inc\./i }); + expect(creditsLinkElement).toBeInTheDocument(); + expect(creditsLinkElement).toHaveAttribute("href", "https://go.cal.com/credits"); + + const versionLinkElement = screen.getByRole("link", { name: /mockedVersion/i }); + expect(versionLinkElement).toBeInTheDocument(); + expect(versionLinkElement).toHaveAttribute("href", "https://go.cal.com/releases"); + }); + + test("Should render credits section with correct text", () => { + render(); + + const currentYear = new Date().getFullYear(); + const copyrightElement = screen.getByText(`© ${currentYear}`); + expect(copyrightElement).toHaveTextContent(`${currentYear}`); + }); +});