@@ -7,7 +7,8 @@ const chai = require("chai"),
77 cp = require ( 'child_process' ) ;
88
99const logger = require ( "../../../../bin/helpers/logger" ) . winstonLogger ,
10- fileHelpers = require ( "../../../../bin/helpers/fileHelpers" ) ;
10+ fileHelpers = require ( "../../../../bin/helpers/fileHelpers" ) ,
11+ utils = require ( '../../../../bin/helpers/utils' ) ;
1112
1213const rewire = require ( "rewire" ) ;
1314
@@ -214,15 +215,47 @@ describe("packageInstaller", () => {
214215 context ( "packageInstall" , ( ) => {
215216 const packageInstaller = rewire ( "../../../../bin/helpers/packageInstaller" ) ;
216217
217- it ( "should call npm install on directory and resolve if spawn is closed successfully" , ( ) => {
218+ it ( "should call npm install on directory with npm <= 6 and resolve if spawn is closed successfully" , ( ) => {
218219 let spawnStub = sandbox . stub ( cp , 'spawn' ) . returns ( {
219220 on : ( _close , nodeProcessCloseCallback ) => {
220221 nodeProcessCloseCallback ( 0 ) ;
221222 }
222223 } ) ;
224+ let getMajorVersionStub = sandbox . stub ( utils , 'getMajorVersion' ) . returns ( '7' ) ;
223225 packageInstaller . __set__ ( {
224226 nodeProcess : { } ,
225- spawn : spawnStub
227+ spawn : spawnStub ,
228+ utils : {
229+ getMajorVersion : getMajorVersionStub
230+ }
231+ } ) ;
232+ let packageInstallrewire = packageInstaller . __get__ ( 'packageInstall' ) ;
233+ let directoryPath = "/random/path" ;
234+ return packageInstallrewire ( directoryPath )
235+ . then ( ( data ) => {
236+ console . log ( data ) ;
237+ chai . assert . equal ( data , "Packages were installed successfully." )
238+ spawnStub . restore ( ) ;
239+ getMajorVersionStub . restore ( ) ;
240+ } )
241+ . catch ( ( _error ) => {
242+ chai . assert . fail ( `Promise error ${ _error } ` ) ;
243+ } ) ;
244+ } ) ;
245+
246+ it ( "should call npm install on directory with npm >= 7 and resolve if spawn is closed successfully" , ( ) => {
247+ let spawnStub = sandbox . stub ( cp , 'spawn' ) . returns ( {
248+ on : ( _close , nodeProcessCloseCallback ) => {
249+ nodeProcessCloseCallback ( 0 ) ;
250+ }
251+ } ) ;
252+ let getMajorVersionStub = sandbox . stub ( utils , 'getMajorVersion' ) . returns ( '7' ) ;
253+ packageInstaller . __set__ ( {
254+ nodeProcess : { } ,
255+ spawn : spawnStub ,
256+ utils : {
257+ getMajorVersion : getMajorVersionStub
258+ }
226259 } ) ;
227260 let packageInstallrewire = packageInstaller . __get__ ( 'packageInstall' ) ;
228261 let directoryPath = "/random/path" ;
@@ -231,6 +264,7 @@ describe("packageInstaller", () => {
231264 console . log ( data ) ;
232265 chai . assert . equal ( data , "Packages were installed successfully." )
233266 spawnStub . restore ( ) ;
267+ getMajorVersionStub . restore ( ) ;
234268 } )
235269 . catch ( ( _error ) => {
236270 chai . assert . fail ( `Promise error ${ _error } ` ) ;
0 commit comments