xref: /expo/apps/bare-expo/e2e/Utils.js (revision a9552a46)
1import { device } from 'detox';
2
3export const sleepAsync = (t) => new Promise((res) => setTimeout(res, t));
4
5export async function launchWithPermissionsAsync(permissions) {
6  if (Object.keys(permissions).length) {
7    await device.launchApp({
8      permissions: Object.keys(permissions).reduce((prev, curr) => {
9        const value = permissions[curr];
10        if (typeof value === 'string') {
11          return {
12            ...prev,
13            [curr]: value,
14          };
15        } else {
16          return {
17            ...prev,
18            [curr]: value ? 'YES' : 'NO',
19          };
20        }
21      }, {}),
22      newInstance: true,
23      launchArgs: {
24        EXDevMenuIsOnboardingFinished: true,
25      },
26    });
27  }
28}
29