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); | |
}); | |
}); | |