import { describe, it, expect } from '@jest/globals'; import { createOmdbApiClient } from '../src/integration/movies/omdb/apiClient'; describe('createOmdbApiClient', () => { const apiKey = process.env['OMDB_API_KEY']; if (!apiKey) { throw new Error('Missing api key'); } const client = createOmdbApiClient(apiKey); it('returns some data for tt11873472', async () => { const result = await client.fetchMetadata('tt11873472'); expect(result).toMatchObject({ Actors: 'Cheryl Isheja, Elvis Ngabo, Diogène Ntarindwa', Awards: expect.any(String), BoxOffice: expect.any(String), Country: 'Rwanda, France, Canada, United Kingdom, United States', DVD: expect.any(String), Director: 'Anisia Uzeyman, Saul Williams', Genre: 'Musical, Sci-Fi', Language: 'Kinyarwanda, Kirundi, Swahili, French, English', Metascore: expect.stringMatching(/^\d+$/), Plot: expect.any(String), Poster: expect.stringMatching(/^http/), Production: expect.any(String), Rated: expect.any(String), Ratings: expect.any(Array), Released: '10 May 2023', Runtime: '105 min', Title: 'Neptune Frost', Type: 'movie', Website: expect.any(String), Writer: 'Saul Williams', Year: '2021', imdbID: 'tt11873472', imdbRating: expect.stringMatching(/^\d?\d(\.\d)?$/), imdbVotes: expect.stringMatching(/^\d+$/), }); }, 10_000); it('returns undefined for non-existent id', async () => { const result = await client.fetchMetadata('tt99999999999'); expect(result).toBeUndefined(); }, 10_000); });