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