1/** 2 * @jest-environment jsdom 3 */ 4 5import { PermissionStatus } from '../Camera.types'; 6import ExponentCameraManager from '../ExponentCameraManager'; 7 8describe(ExponentCameraManager.getCameraPermissionsAsync, () => { 9 it('handles a TypeError from Firefox', async () => { 10 const typeError = new TypeError( 11 "'camera' (value of 'name' member of PermissionDescriptor) is not a valid value for enumeration PermissionName." 12 ); 13 14 Object.assign(window.navigator, { 15 permissions: { 16 query: jest.fn().mockRejectedValue(typeError), 17 }, 18 }); 19 20 const result = await ExponentCameraManager.getCameraPermissionsAsync(); 21 22 expect(result).toMatchObject({ 23 status: PermissionStatus.UNDETERMINED, 24 expires: 'never', 25 canAskAgain: true, 26 granted: false, 27 }); 28 }); 29}); 30