Skip to content

Commit d7b23c8

Browse files
authoredOct 12, 2021
test(create-react-app): assert for exit code (#10973)
1 parent 1465357 commit d7b23c8

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed
 

‎test/integration/create-react-app/index.test.js

+24-6
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,18 @@ const genFileExists = f => existsSync(join(genPath, f));
2727

2828
describe('create-react-app', () => {
2929
it('asks to supply an argument if none supplied', async () => {
30-
const { stderr } = await run([], { reject: false });
30+
const { code, stderr } = await run([], { reject: false });
31+
32+
// Assertions
33+
expect(code).toBe(1);
3134
expect(stderr).toContain('Please specify the project directory');
3235
});
3336

3437
it('creates a project on supplying a name as the argument', async () => {
35-
await run([projectName], { cwd: __dirname });
38+
const { code } = await run([projectName], { cwd: __dirname });
39+
40+
// Assert for exit code
41+
expect(code).toBe(0);
3642

3743
// Assert for the generated files
3844
generatedFiles.forEach(file => expect(genFileExists(file)).toBeTruthy());
@@ -46,11 +52,14 @@ describe('create-react-app', () => {
4652
const pkgJson = join(genPath, 'package.json');
4753
writeFileSync(pkgJson, '{ "foo": "bar" }');
4854

49-
const { stdout } = await run([projectName], {
55+
const { code, stdout } = await run([projectName], {
5056
cwd: __dirname,
5157
reject: false,
5258
});
5359

60+
// Assert for exit code
61+
expect(code).toBe(1);
62+
5463
// Assert for the expected message
5564
expect(stdout).toContain(
5665
`The directory ${projectName} contains files that could conflict`
@@ -62,18 +71,24 @@ describe('create-react-app', () => {
6271
await mkdirp(genPath);
6372

6473
// Create a project in the current directory
65-
await run(['.'], { cwd: genPath });
74+
const { code } = await run(['.'], { cwd: genPath });
75+
76+
// Assert for exit code
77+
expect(code).toBe(0);
6678

6779
// Assert for the generated files
6880
generatedFiles.forEach(file => expect(genFileExists(file)).toBeTruthy());
6981
});
7082

7183
it('uses yarn as the package manager', async () => {
72-
await run([projectName], {
84+
const { code } = await run([projectName], {
7385
cwd: __dirname,
7486
env: { npm_config_user_agent: 'yarn' },
7587
});
7688

89+
// Assert for exit code
90+
expect(code).toBe(0);
91+
7792
// Assert for the generated files
7893
const generatedFilesWithYarn = [
7994
...generatedFiles.filter(file => file !== 'package-lock.json'),
@@ -86,10 +101,13 @@ describe('create-react-app', () => {
86101
});
87102

88103
it('creates a project based on the typescript template', async () => {
89-
await run([projectName, '--template', 'typescript'], {
104+
const { code } = await run([projectName, '--template', 'typescript'], {
90105
cwd: __dirname,
91106
});
92107

108+
// Assert for exit code
109+
expect(code).toBe(0);
110+
93111
// Assert for the generated files
94112
[...generatedFiles, 'tsconfig.json'].forEach(file =>
95113
expect(genFileExists(file)).toBeTruthy()

0 commit comments

Comments
 (0)
Please sign in to comment.