// @vitest-environment jsdom import { describe, it, expect } from "vitest"; import { render, screen } from "@testing-library/svelte"; import GameCard from "./GameCard.svelte"; import { createCourt, createRegular } from "../logic/players.js"; import { addBlockedGames, addActiveGames, } from "../logic/matchmaking.js"; describe("GameCard", () => { it("renders 'Reserved' for a RESERVED placeholder game", () => { const [game] = addBlockedGames([createCourt(2, false)]); render(GameCard, { game }); expect(screen.getByText("Reserved")).toBeInTheDocument(); expect(screen.getByText("Court 3")).toBeInTheDocument(); }); it("renders both teams' player names for a real match", () => { const players = [ createRegular(0, true, 1, 0, "Alice", "A"), createRegular(1, true, 1, 0, "Bob", "B"), createRegular(2, true, 1, 0, "Carl", "C"), createRegular(3, true, 1, 0, "Dana", "D"), ]; const [game] = addActiveGames([createCourt(0, true)], players); render(GameCard, { game }); expect(screen.queryByText("Reserved")).not.toBeInTheDocument(); expect(screen.getByText("Alice")).toBeInTheDocument(); expect(screen.getByText("Dana")).toBeInTheDocument(); }); });