Spaces:
Build error
Build error
| import { render, screen } from "@testing-library/react"; | |
| import { it, describe, expect, vi, beforeEach, afterEach } from "vitest"; | |
| import userEvent from "@testing-library/user-event"; | |
| import { AuthModal } from "#/components/features/waitlist/auth-modal"; | |
| // Mock the useAuthUrl hook | |
| vi.mock("#/hooks/use-auth-url", () => ({ | |
| useAuthUrl: () => "https://gitlab.com/oauth/authorize", | |
| })); | |
| describe("AuthModal", () => { | |
| beforeEach(() => { | |
| vi.stubGlobal("location", { href: "" }); | |
| }); | |
| afterEach(() => { | |
| vi.unstubAllGlobals(); | |
| vi.resetAllMocks(); | |
| }); | |
| it("should render the GitHub and GitLab buttons", () => { | |
| render(<AuthModal githubAuthUrl="mock-url" appMode="saas" />); | |
| const githubButton = screen.getByRole("button", { | |
| name: "GITHUB$CONNECT_TO_GITHUB", | |
| }); | |
| const gitlabButton = screen.getByRole("button", { | |
| name: "GITLAB$CONNECT_TO_GITLAB", | |
| }); | |
| expect(githubButton).toBeInTheDocument(); | |
| expect(gitlabButton).toBeInTheDocument(); | |
| }); | |
| it("should redirect to GitHub auth URL when GitHub button is clicked", async () => { | |
| const user = userEvent.setup(); | |
| const mockUrl = "https://github.com/login/oauth/authorize"; | |
| render(<AuthModal githubAuthUrl={mockUrl} appMode="saas" />); | |
| const githubButton = screen.getByRole("button", { | |
| name: "GITHUB$CONNECT_TO_GITHUB", | |
| }); | |
| await user.click(githubButton); | |
| expect(window.location.href).toBe(mockUrl); | |
| }); | |
| }); | |