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