import nock from 'nock'; import { PlexSDK } from '../../../src'; import { ServerService } from '../../../src/services/server/Server'; describe('test ServerService object', () => { it('should be an object', () => { expect(typeof ServerService).toBe('function'); }); }); describe('test Server', () => { let sdk: any; beforeEach(() => { sdk = new PlexSDK({}); nock.cleanAll(); }); describe('test getServerCapabilities', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400').get('/').reply(200, { data: {} }); return sdk.server .getServerCapabilities() .then((r: any) => expect(r.data).toEqual({ data: {} })); }); }); describe('test getServerPreferences', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400').get('/:/prefs').reply(200, { data: {} }); return sdk.server .getServerPreferences() .then((r: any) => expect(r.data).toEqual({ data: {} })); }); }); describe('test getAvailableClients', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400').get('/clients').reply(200, { data: {} }); return sdk.server .getAvailableClients() .then((r: any) => expect(r.data).toEqual({ data: {} })); }); }); describe('test getDevices', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400').get('/devices').reply(200, { data: {} }); return sdk.server.getDevices().then((r: any) => expect(r.data).toEqual({ data: {} })); }); }); describe('test getServerIdentity', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400').get('/identity').reply(200, { data: {} }); return sdk.server.getServerIdentity().then((r: any) => expect(r.data).toEqual({ data: {} })); }); }); describe('test getMyPlexAccount', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400') .get('/myplex/account') .reply(200, { data: {} }); return sdk.server.getMyPlexAccount().then((r: any) => expect(r.data).toEqual({ data: {} })); }); }); describe('test getResizedPhoto', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400') .get( '/photo/:/transcode?width=9565652483&height=8&opacity=6&blur=1&minSize=6&upscale=4&url=facere', ) .reply(200, { data: {} }); return sdk.server .getResizedPhoto(9565652483, 8, 6, 1, 6, 4, 'facere') .then((r: any) => expect(r.data).toEqual({ data: {} })); }); test('test will throw error if required fields missing', () => { const scope = nock('http://10.10.10.47:32400') .get( '/photo/:/transcode?width=6337242925&height=3&opacity=4&blur=1&minSize=6&upscale=1&url=vel', ) .reply(200, { data: {} }); return expect(async () => await sdk.server.getResizedPhoto()).rejects.toThrow(); }); test('test will throw error on a non-200 response', () => { const scope = nock('http://10.10.10.47:32400') .get( '/photo/:/transcode?width=2262418284&height=4&opacity=6&blur=2&minSize=8&upscale=9&url=saepe', ) .reply(404, { data: {} }); return expect( async () => await sdk.server.getResizedPhoto(2262418284, 4, 6, 2, 8, 9, 'saepe'), ).rejects.toThrow(); }); }); describe('test getServerList', () => { test('test api call', () => { const scope = nock('http://10.10.10.47:32400').get('/servers').reply(200, { data: {} }); return sdk.server.getServerList().then((r: any) => expect(r.data).toEqual({ data: {} })); }); }); });