webstreamr-github/src/utils/tmdb.test.ts

34 lines
1.1 KiB
TypeScript

import { getTmdbIdFromImdbId } from './tmdb';
import { Fetcher } from './Fetcher';
import { Context } from '../types';
jest.mock('../utils/Fetcher');
// @ts-expect-error No constructor args needed
const fetcher = new Fetcher();
const ctx: Context = { id: 'id', ip: '127.0.0.1', config: { de: 'on' } };
describe('getTmdbIdFromImdbId', () => {
test('series', async () => {
const tmdbId = await getTmdbIdFromImdbId(ctx, fetcher, { id: 'tt2085059', series: 2, episode: 4 });
expect(tmdbId).toStrictEqual({
id: 42009,
series: 2,
episode: 4,
});
});
test('movie', async () => {
const tmdbId = await getTmdbIdFromImdbId(ctx, fetcher, { id: 'tt29141112', series: undefined, episode: undefined });
expect(tmdbId).toStrictEqual({
id: 931944,
series: undefined,
episode: undefined,
});
});
test('throws with invalid imdb id', async () => {
await expect(getTmdbIdFromImdbId(ctx, fetcher, { id: 'tt12345678', series: 1, episode: 1 })).rejects.toThrow('Could not get TMDB ID of IMDb ID "tt12345678"');
});
});