@@ -397,8 +397,69 @@ describe("packageInstaller", () => {
397397 } ) ;
398398 } ) ;
399399
400+ context ( "packageSetupAndInstaller" , ( ) => {
401+ let setupPackageFolderStub , setupPackageFolderStubErrorStub , setupPackageInstallStub ;
402+ let packageDir = "/random/path" ;
403+
404+ const packageInstaller = rewire ( "../../../../bin/helpers/packageInstaller" ) ;
405+ beforeEach ( ( ) => {
406+ setupPackageFolderStub = sandbox . stub ( ) . returns ( Promise . resolve ( "random" ) ) ;
407+ setupPackageInstallStub = sandbox . stub ( ) . returns ( Promise . resolve ( "random" ) ) ;
408+ } ) ;
409+
410+
411+ it ( "should resolve with package exist if all step are successful" , ( ) => {
412+ packageInstaller . __set__ ( {
413+ setupPackageFolder : setupPackageFolderStub ,
414+ packageInstall : setupPackageInstallStub
415+ } ) ;
416+ let packageSetupAndInstallerrewire = packageInstaller . __get__ ( 'packageSetupAndInstaller' ) ;
417+ let bsConfig = {
418+ run_settings : {
419+ cache_dependencies : true
420+ }
421+ } ;
422+
423+ let instrumentBlocks = {
424+ markBlockStart : sinon . stub ( ) ,
425+ markBlockEnd : sinon . stub ( )
426+ }
427+ return packageSetupAndInstallerrewire ( bsConfig , packageDir , instrumentBlocks )
428+ . then ( ( data ) => {
429+ chai . assert . deepEqual ( data , { packagesInstalled : true } ) ;
430+ } )
431+ . catch ( ( _error ) => {
432+ chai . assert . fail ( "Promise error" ) ;
433+ } ) ;
434+ } ) ;
435+
436+ it ( "should reject with error if issue in any step" , ( ) => {
437+ setupPackageFolderStubErrorStub = sandbox . stub ( ) . returns ( Promise . reject ( { message : "test error" , stack : "test error stack" } ) ) ;
438+ packageInstaller . __set__ ( {
439+ setupPackageFolder : setupPackageFolderStubErrorStub
440+ } ) ;
441+ let packageSetupAndInstallerrewire = packageInstaller . __get__ ( 'packageSetupAndInstaller' ) ;
442+ let bsConfig = {
443+ run_settings : {
444+ cache_dependencies : true
445+ }
446+ } ;
447+ let instrumentBlocks = {
448+ markBlockStart : sinon . stub ( ) ,
449+ markBlockEnd : sinon . stub ( )
450+ }
451+ return packageSetupAndInstallerrewire ( bsConfig , packageDir , instrumentBlocks )
452+ . then ( ( data ) => {
453+ chai . assert . deepEqual ( data , { packagesInstalled : false , error : 'test error stack' } ) ;
454+ } )
455+ . catch ( ( _error ) => {
456+ chai . assert . fail ( "Promise error" ) ;
457+ } ) ;
458+ } ) ;
459+ } ) ;
460+
400461 context ( "packageWrapper" , ( ) => {
401- let setupPackageFolderStub , setupPackageFolderErrorStub , setupPackageInstallStub , setupPackageArchiverStub ;
462+ let setupPackageFolderStub , setupPackageArchiverErrorStub , setupPackageInstallStub , setupPackageArchiverStub ;
402463 let packageDir = "/random/path" ;
403464 let packageFile = "/random/path/to/file" ;
404465 const packageInstaller = rewire ( "../../../../bin/helpers/packageInstaller" ) ;
@@ -431,8 +492,6 @@ describe("packageInstaller", () => {
431492
432493 it ( "should resolve with package exist if all step are successful" , ( ) => {
433494 packageInstaller . __set__ ( {
434- setupPackageFolder : setupPackageFolderStub ,
435- packageInstall :setupPackageInstallStub ,
436495 packageArchiver : setupPackageArchiverStub
437496 } ) ;
438497 let packageWrapperrewire = packageInstaller . __get__ ( 'packageWrapper' ) ;
@@ -458,7 +517,7 @@ describe("packageInstaller", () => {
458517 it ( "should reject with error if issue in any step" , ( ) => {
459518 setupPackageArchiverErrorStub = sandbox . stub ( ) . returns ( Promise . reject ( { message : "test error" , stack : "test error stack" } ) ) ;
460519 packageInstaller . __set__ ( {
461- packageArchiver : setupPackageArchiverStub
520+ packageArchiver : setupPackageArchiverErrorStub
462521 } ) ;
463522 let packageWrapperrewire = packageInstaller . __get__ ( 'packageWrapper' ) ;
464523 let bsConfig = {
0 commit comments