|
2 | 2 | createPackageJSON,
|
3 | 3 | createDirectory,
|
4 | 4 | createExampleFunction,
|
5 |
| - createEnvFile |
| 5 | + createEnvFile, |
| 6 | + createNvmrcFile |
6 | 7 | } = require('../src/create-twilio-function/create-files');
|
| 8 | +const versions = require('../src/create-twilio-function/versions'); |
7 | 9 | const fs = require('fs');
|
8 | 10 | const { promisify } = require('util');
|
9 | 11 | const rimraf = promisify(require('rimraf'));
|
@@ -48,6 +50,10 @@ describe('createPackageJSON', () => {
|
48 | 50 | expect(file.isFile());
|
49 | 51 | const packageJSON = JSON.parse(await readFile('./scratch/package.json'));
|
50 | 52 | expect(packageJSON.name).toEqual('project-name');
|
| 53 | + expect(packageJSON.engines.node).toEqual(versions.node); |
| 54 | + expect(packageJSON.devDependencies['twilio-run']).toEqual( |
| 55 | + versions.twilioRun |
| 56 | + ); |
51 | 57 | });
|
52 | 58 |
|
53 | 59 | test('it rejects if there is already a package.json', async () => {
|
@@ -109,3 +115,23 @@ describe('createEnvFile', () => {
|
109 | 115 | }
|
110 | 116 | });
|
111 | 117 | });
|
| 118 | + |
| 119 | +describe('createNvmrcFile', () => { |
| 120 | + test('it creates a new .nvmrc file', async () => { |
| 121 | + await createNvmrcFile('./scratch'); |
| 122 | + const file = await stat('./scratch/.nvmrc'); |
| 123 | + expect(file.isFile()); |
| 124 | + const contents = await readFile('./scratch/.nvmrc', { encoding: 'utf-8' }); |
| 125 | + expect(contents).toMatch(versions.node); |
| 126 | + }); |
| 127 | + |
| 128 | + test('it rejects if there is already an .nvmrc file', async () => { |
| 129 | + fs.closeSync(fs.openSync('./scratch/.nvmrc', 'w')); |
| 130 | + expect.assertions(1); |
| 131 | + try { |
| 132 | + await createNvmrcFile('./scratch'); |
| 133 | + } catch (e) { |
| 134 | + expect(e.toString()).toMatch('file already exists'); |
| 135 | + } |
| 136 | + }); |
| 137 | +}); |
0 commit comments