import { getFavoriteGames, getGame, getGames } from "@/lib/igdb"; // Mocken der Fetch-Funktion für die API-Aufrufe jest.mock('node-fetch'); describe('Game Service', () => { test('fetches games from the server', async () => { // Mock-Daten der Spiele const mockGamesData = [ { id: 1, name: 'Game 1', cover: { image_id: 'cover_image_id_1', url: 'cover_image_url_1' }, // Weitere Eigenschaften der IGame-Schnittstelle }, { id: 2, name: 'Game 2', cover: { image_id: 'cover_image_id_2', url: 'cover_image_url_2' }, // Weitere Eigenschaften der IGame-Schnittstelle }, ]; // Mock-Funktion für die Fetch-Funktion const mockFetch = jest.fn().mockResolvedValueOnce({ ok: true, json: async () => mockGamesData, }); // Mocken der globalen fetch-Funktion // @ts-ignore global.fetch = mockFetch; // Setzen der Umgebungsvariable IGDB_BASE_URL process.env.IGDB_BASE_URL = 'https://api.igdb.com/v4'; // Aufruf der Funktion, die Spiele vom Server abruft const games = await getGames(); // Überprüfen, ob die Fetch-Funktion mit den erwarteten Parametern aufgerufen wurde expect(mockFetch).toHaveBeenCalledWith('https://api.igdb.com/v4/games', { method: 'GET', // Weitere erwartete Optionen für den Fetch-Aufruf }); // Überprüfen, ob die zurückgegebenen Spiele den erwarteten Daten entsprechen expect(games).toEqual(mockGamesData); }); // Weitere Tests für getGame() und getFavoriteGames() hier... });