1import nock from 'nock'; 2 3import { getExpoApiBaseUrl } from '../endpoint'; 4import { getVersionsAsync } from '../getVersions'; 5 6beforeAll(() => { 7 process.env.EXPO_NO_CACHE = 'true'; 8}); 9 10describe(getVersionsAsync, () => { 11 it('gets versions', async () => { 12 const scope = nock(getExpoApiBaseUrl()) 13 .get('/v2/versions/latest') 14 .reply(200, require('./fixtures/versions-latest.json')); 15 const versions = await getVersionsAsync(); 16 expect(versions).toEqual(require('./fixtures/versions-latest.json').data); 17 expect(scope.isDone()).toBe(true); 18 }); 19 it('fails when the servers are down', async () => { 20 const scope = nock(getExpoApiBaseUrl()) 21 .get('/v2/versions/latest') 22 .reply(500, 'something went wrong'); 23 await expect(getVersionsAsync()).rejects.toThrowError(/Expo server/); 24 expect(scope.isDone()).toBe(true); 25 }); 26}); 27