test: add comprehensive test suite for Ombi integration
- Add tests for Ombi configuration parsing (OMBI_INSTANCES JSON array, legacy fallback) - Add tests for OmbiClient API methods (movie/TV requests, search by TMDB/IMDB/TVDB) - Add tests for OmbiRetriever caching, queue, and search functionality - Add tests for arrRetrieverRegistry initialization and retrieval methods - Add tests for DownloadMatcher.addOmbiMatching integration - Add tests for DownloadAssembler Ombi link generation utilities - Export addOmbiMatching from DownloadMatcher module
This commit is contained in:
@@ -752,4 +752,78 @@ describe('DownloadAssembler', () => {
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('getOmbiLink', () => {
|
||||
it('returns correct URL for valid requestId, type, and baseUrl', () => {
|
||||
const result = DownloadAssembler.getOmbiLink(123, 'movie', 'http://localhost:5000');
|
||||
expect(result).toBe('http://localhost:5000/#/request/movie/123');
|
||||
});
|
||||
|
||||
it('returns correct URL for TV type', () => {
|
||||
const result = DownloadAssembler.getOmbiLink(456, 'tv', 'http://localhost:5000');
|
||||
expect(result).toBe('http://localhost:5000/#/request/tv/456');
|
||||
});
|
||||
|
||||
it('returns null when requestId is missing', () => {
|
||||
const result = DownloadAssembler.getOmbiLink(null, 'movie', 'http://localhost:5000');
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('returns null when type is missing', () => {
|
||||
const result = DownloadAssembler.getOmbiLink(123, null, 'http://localhost:5000');
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('returns null when baseUrl is missing', () => {
|
||||
const result = DownloadAssembler.getOmbiLink(123, 'movie', null);
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('returns null when all parameters are missing', () => {
|
||||
const result = DownloadAssembler.getOmbiLink(null, null, null);
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('handles string requestId', () => {
|
||||
const result = DownloadAssembler.getOmbiLink('abc-123', 'movie', 'http://localhost:5000');
|
||||
expect(result).toBe('http://localhost:5000/#/request/movie/abc-123');
|
||||
});
|
||||
});
|
||||
|
||||
describe('getOmbiSearchLink', () => {
|
||||
it('returns correct URL for series type', () => {
|
||||
const result = DownloadAssembler.getOmbiSearchLink(789, 'series', 'http://localhost:5000');
|
||||
expect(result).toBe('http://localhost:5000/#/tv/search/789');
|
||||
});
|
||||
|
||||
it('returns correct URL for movie type', () => {
|
||||
const result = DownloadAssembler.getOmbiSearchLink(101, 'movie', 'http://localhost:5000');
|
||||
expect(result).toBe('http://localhost:5000/#/movie/search/101');
|
||||
});
|
||||
|
||||
it('returns null when searchId is missing', () => {
|
||||
const result = DownloadAssembler.getOmbiSearchLink(null, 'series', 'http://localhost:5000');
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('returns null when type is missing', () => {
|
||||
const result = DownloadAssembler.getOmbiSearchLink(789, null, 'http://localhost:5000');
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('returns null when baseUrl is missing', () => {
|
||||
const result = DownloadAssembler.getOmbiSearchLink(789, 'series', null);
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('returns null for invalid type', () => {
|
||||
const result = DownloadAssembler.getOmbiSearchLink(789, 'invalid', 'http://localhost:5000');
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
it('handles string searchId', () => {
|
||||
const result = DownloadAssembler.getOmbiSearchLink('search-123', 'movie', 'http://localhost:5000');
|
||||
expect(result).toBe('http://localhost:5000/#/movie/search/search-123');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user