18d307f52SEvan Bacon/* eslint-env jest */
28d307f52SEvan Baconimport fs from 'fs/promises';
38d307f52SEvan Bacon
48d307f52SEvan Baconimport { execute, projectRoot } from './utils';
58d307f52SEvan Bacon
68d307f52SEvan Baconconst originalForceColor = process.env.FORCE_COLOR;
78d307f52SEvan BaconbeforeAll(async () => {
88d307f52SEvan Bacon  await fs.mkdir(projectRoot, { recursive: true });
98d307f52SEvan Bacon  process.env.FORCE_COLOR = '0';
108d307f52SEvan Bacon});
118d307f52SEvan BaconafterAll(() => {
128d307f52SEvan Bacon  process.env.FORCE_COLOR = originalForceColor;
138d307f52SEvan Bacon});
148d307f52SEvan Bacon
158d307f52SEvan Baconit('runs `npx expo --version`', async () => {
168d307f52SEvan Bacon  const results = await execute('--version');
178d307f52SEvan Bacon  expect(results.stdout).toEqual(require('../../package.json').version);
188d307f52SEvan Bacon});
198d307f52SEvan Baconit('runs `npx expo -v`', async () => {
208d307f52SEvan Bacon  const results = await execute('-v');
218d307f52SEvan Bacon  expect(results.stdout).toEqual(require('../../package.json').version);
228d307f52SEvan Bacon});
23*4b86b89eSEvan Baconit('asserts with a deprecated command `npx expo send`', async () => {
24*4b86b89eSEvan Bacon  await expect(execute('send')).rejects.toThrow(/expo send is deprecated/);
25*4b86b89eSEvan Bacon});
268d307f52SEvan Bacon
278d307f52SEvan Baconit('runs `npx expo --help`', async () => {
288d307f52SEvan Bacon  const results = await execute('--help');
298d307f52SEvan Bacon  expect(results.stdout).toMatchInlineSnapshot(`
308d307f52SEvan Bacon    "
318d307f52SEvan Bacon      Usage
328d307f52SEvan Bacon        $ npx expo <command>
338d307f52SEvan Bacon
3483d464dcSEvan Bacon      Commands
35dfe12d45SEvan Bacon        start, export, export:web
36c4ef02aeSEvan Bacon        run:ios, run:android, prebuild
37dfe12d45SEvan Bacon        install, customize, config
3883d464dcSEvan Bacon        login, logout, whoami, register
398d307f52SEvan Bacon
408d307f52SEvan Bacon      Options
418d307f52SEvan Bacon        --version, -v   Version number
4283d464dcSEvan Bacon        --help, -h      Usage info
438d307f52SEvan Bacon
4483d464dcSEvan Bacon      For more info run a command with the --help flag
4583d464dcSEvan Bacon        $ npx expo start --help
468d307f52SEvan Bacon    "
478d307f52SEvan Bacon  `);
488d307f52SEvan Bacon});
49