diff --git a/packages/features/bookings/components/BookerSeo.test.tsx b/packages/features/bookings/components/BookerSeo.test.tsx deleted file mode 100644 index 37581cbad8..0000000000 --- a/packages/features/bookings/components/BookerSeo.test.tsx +++ /dev/null @@ -1,94 +0,0 @@ -import { render } from "@testing-library/react"; -import React from "react"; -import { describe, it, expect, vi } from "vitest"; - -import { getOrgFullOrigin } from "@calcom/ee/organizations/lib/orgDomains"; -import { trpc } from "@calcom/trpc/react"; -import { HeadSeo } from "@calcom/ui"; - -import { BookerSeo } from "./BookerSeo"; - -// Mocking necessary modules and hooks -vi.mock("@calcom/trpc/react", () => ({ - trpc: { - viewer: { - public: { - event: { - useQuery: vi.fn(), - }, - }, - }, - }, -})); - -vi.mock("@calcom/lib/hooks/useLocale", () => ({ - useLocale: () => ({ t: (key: string) => key }), -})); - -vi.mock("@calcom/ee/organizations/lib/orgDomains", () => ({ - getOrgFullOrigin: vi.fn(), -})); - -vi.mock("@calcom/ui", () => ({ - HeadSeo: vi.fn(), -})); - -describe("BookerSeo Component", () => { - it("renders HeadSeo with correct props", () => { - const mockData = { - event: { - slug: "event-slug", - profile: { name: "John Doe", image: "image-url", username: "john" }, - title: "30min", - hidden: false, - users: [{ name: "Jane Doe", username: "jane" }], - }, - entity: { fromRedirectOfNonOrgLink: false, orgSlug: "org1" }, - }; - - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - trpc.viewer.public.event.useQuery.mockReturnValueOnce({ - data: mockData.event, - }); - - vi.mocked(getOrgFullOrigin).mockImplementation((text: string | null) => `${text}.cal.local`); - - render( - - ); - - expect(HeadSeo).toHaveBeenCalledWith( - { - origin: `${mockData.entity.orgSlug}.cal.local`, - isBrandingHidden: undefined, - // Don't know why we are adding space in the beginning - title: ` ${mockData.event.title} | ${mockData.event.profile.name}`, - description: ` ${mockData.event.title}`, - meeting: { - profile: { - name: mockData.event.profile.name, - image: mockData.event.profile.image, - }, - title: mockData.event.title, - users: [ - { - name: mockData.event.users[0].name, - username: mockData.event.users[0].username, - }, - ], - }, - nextSeoProps: { - nofollow: true, - noindex: true, - }, - }, - {} - ); - }); -}); diff --git a/packages/features/bookings/components/BookerSeo.tsx b/packages/features/bookings/components/BookerSeo.tsx deleted file mode 100644 index 050925e68f..0000000000 --- a/packages/features/bookings/components/BookerSeo.tsx +++ /dev/null @@ -1,88 +0,0 @@ -import { getOrgFullOrigin } from "@calcom/ee/organizations/lib/orgDomains"; -import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking"; -import type { getPublicEvent } from "@calcom/features/eventtypes/lib/getPublicEvent"; -import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { trpc } from "@calcom/trpc/react"; -import { HeadSeo } from "@calcom/ui"; - -interface BookerSeoProps { - username: string; - eventSlug: string; - rescheduleUid: string | undefined; - hideBranding?: boolean; - isSEOIndexable?: boolean; - isTeamEvent?: boolean; - eventData?: Omit< - Pick>>, "profile" | "title" | "users" | "hidden">, - "profile" | "users" - > & { - profile: { - image: string | undefined; - name: string | null; - username: string | null; - }; - users: { - username: string; - name: string; - }[]; - }; - entity: { - fromRedirectOfNonOrgLink: boolean; - orgSlug?: string | null; - teamSlug?: string | null; - name?: string | null; - }; - bookingData?: GetBookingType | null; -} - -export const BookerSeo = (props: BookerSeoProps) => { - const { - eventSlug, - username, - rescheduleUid, - hideBranding, - isTeamEvent, - entity, - isSEOIndexable, - bookingData, - eventData, - } = props; - const { t } = useLocale(); - const { data: _event } = trpc.viewer.public.event.useQuery( - { - username, - eventSlug, - isTeamEvent, - org: entity.orgSlug ?? null, - fromRedirectOfNonOrgLink: entity.fromRedirectOfNonOrgLink, - }, - { refetchOnWindowFocus: false, enabled: !eventData } - ); - const event = eventData ?? _event; - - const profileName = event?.profile.name ?? ""; - const profileImage = event?.profile.image; - const title = event?.title ?? ""; - return ( - ({ - name: `${user.name}`, - username: `${user.username}`, - })), - ], - }} - nextSeoProps={{ - nofollow: event?.hidden || !isSEOIndexable, - noindex: event?.hidden || !isSEOIndexable, - }} - isBrandingHidden={hideBranding} - /> - ); -};