1import nock from 'nock'; 2 3import { getExpoApiBaseUrl } from '../endpoint'; 4import { getProjectDevelopmentCertificateAsync } from '../getProjectDevelopmentCertificate'; 5 6jest.mock('../user/actions', () => ({ 7 ensureLoggedInAsync: jest.fn(), 8})); 9 10beforeAll(() => { 11 process.env.EXPO_NO_CACHE = 'true'; 12}); 13 14describe(getProjectDevelopmentCertificateAsync, () => { 15 it('gets project development certificate', async () => { 16 const scope = nock(getExpoApiBaseUrl()) 17 .post('/v2/projects/4254c843-457a-4a6e-9b21-1506dc175ba4/development-certificates') 18 .reply(200, 'hello'); 19 const cert = await getProjectDevelopmentCertificateAsync( 20 '4254c843-457a-4a6e-9b21-1506dc175ba4', 21 'csr' 22 ); 23 expect(cert).toBe('hello'); 24 expect(scope.isDone()).toBe(true); 25 }); 26 it('fails when the servers are down', async () => { 27 const scope = nock(getExpoApiBaseUrl()) 28 .post('/v2/projects/123/development-certificates') 29 .reply(500, 'something went wrong'); 30 await expect(getProjectDevelopmentCertificateAsync('123', 'csr')).rejects.toThrowError( 31 /Expo server/ 32 ); 33 expect(scope.isDone()).toBe(true); 34 }); 35}); 36