@@ -4,9 +4,13 @@ const { directory } = require('tempy');
4
4
const { resolve } = require ( 'path' ) ;
5
5
const { promisify } = require ( 'util' ) ;
6
6
const stripEOF = require ( 'strip-final-newline' ) ;
7
+ const fs = require ( 'fs' ) ;
7
8
const execFile = promisify ( require ( 'child_process' ) . execFile ) ;
8
- const rm = promisify ( require ( 'fs' ) . unlink ) ;
9
- const stat = promisify ( require ( 'fs' ) . stat ) ;
9
+
10
+ const rm = promisify ( fs . unlink ) ;
11
+ const stat = promisify ( fs . stat ) ;
12
+ const writeFile = promisify ( fs . writeFile ) ;
13
+ const readFile = promisify ( fs . readFile ) ;
10
14
11
15
describe ( 'test installing the package' , ( ) => {
12
16
const kFilename = 'deploy.tgz' ;
@@ -47,6 +51,23 @@ describe('test installing the package', () => {
47
51
expect ( ( await stat ( '.releaserc.json' ) ) . isFile ( ) ) . toBe ( true ) ;
48
52
expect ( ( await stat ( '.commitlintrc.js' ) ) . isFile ( ) ) . toBe ( true ) ;
49
53
} ) ;
54
+
55
+ test ( 'on reinstall doesnt overwrite existing .releaserc.js(on)' , async ( ) => {
56
+ expect . assertions ( 1 ) ;
57
+
58
+ await writeFile ( '.releaserc.json' , 'overwrite' ) ;
59
+ const { stderr } = await execFile ( 'yarn' , [ 'add' , tarball ] ) ;
60
+ console . info ( stderr ) ;
61
+ await expect ( readFile ( '.releaserc.json' , 'utf8' ) ) . resolves . toBe ( 'overwrite' ) ;
62
+ } , 240000 ) ;
63
+
64
+ test ( 'on reinstall doesnt overwrite existing .commitlintrc.js' , async ( ) => {
65
+ expect . assertions ( 1 ) ;
66
+
67
+ await writeFile ( '.commitlintrc.js' , 'overwrite' ) ;
68
+ await execFile ( 'yarn' , [ 'add' , tarball ] ) ;
69
+ await expect ( readFile ( '.commitlintrc.js' , 'utf8' ) ) . resolves . toBe ( 'overwrite' ) ;
70
+ } , 240000 ) ;
50
71
} ) ;
51
72
52
73
describe ( 'installs globally' , ( ) => {
0 commit comments