Skip to content
Snippets Groups Projects
games.test.ts 906 B
Newer Older
import { getGames } from "@/lib/igdb";

describe('games api', () => {
  const mockGamesData = [
    {
      id: 1,
      name: 'Game 1',
      cover: {
        image_id: 'cover_image_id_1',
        url: 'cover_image_url_1'
      },
    },
    {
      id: 2,
      name: 'Game 2',
      cover: {
        image_id: 'cover_image_id_2',
        url: 'cover_image_url_2'
      },
    },
  ];

  const mockAuthData = [
    {
      access_token: "1",
      expires_in: 420,
      token_type: 'bearer',
    }
  ];

  beforeAll(() => {
    global.fetch = jest.fn()
      .mockResolvedValueOnce({
        ok: true,
        json: () => Promise.resolve(mockAuthData),
      })
      .mockResolvedValueOnce({
        ok: true,
        json: () => Promise.resolve(mockGamesData),
      });
  });

  test('get games', async () => {
    const games = await getGames();

    expect(games).toEqual(mockGamesData);
  });
});