@@ -4,9 +4,11 @@ import {describe, it, expect, vi} from 'vitest';
44import any from '@travi/any' ;
55
66import installDependencies from './installer.js' ;
7+ import removeDependencies from './remover.js' ;
78import processDependencies from './processor.js' ;
89
910vi . mock ( './installer.js' ) ;
11+ vi . mock ( './remover.js' ) ;
1012
1113describe ( 'dependencies processor' , ( ) => {
1214 const projectRoot = any . string ( ) ;
@@ -15,11 +17,17 @@ describe('dependencies processor', () => {
1517 it ( 'should process the provided dependency lists' , async ( ) => {
1618 const production = any . listOf ( any . word ) ;
1719 const development = any . listOf ( any . word ) ;
20+ const remove = any . listOf ( any . word ) ;
1821
19- await processDependencies ( { dependencies : { javascript : { production, development} } , projectRoot, packageManager} ) ;
22+ await processDependencies ( {
23+ dependencies : { javascript : { production, development, remove} } ,
24+ projectRoot,
25+ packageManager
26+ } ) ;
2027
2128 expect ( installDependencies ) . toHaveBeenCalledWith ( production , PROD_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
2229 expect ( installDependencies ) . toHaveBeenCalledWith ( development , DEV_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
30+ expect ( removeDependencies ) . toHaveBeenCalledWith ( { packageManager, dependencies : remove } ) ;
2331 } ) ;
2432
2533 it ( 'should process as empty lists when dependencies are not provided' , async ( ) => {
@@ -41,6 +49,7 @@ describe('dependencies processor', () => {
4149
4250 expect ( installDependencies ) . toHaveBeenCalledWith ( [ ] , PROD_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
4351 expect ( installDependencies ) . toHaveBeenCalledWith ( [ ] , DEV_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
52+ expect ( removeDependencies ) . toHaveBeenCalledWith ( { packageManager, dependencies : [ ] } ) ;
4453 } ) ;
4554
4655 it ( 'should prevent an installation error from bubbling' , async ( ) => {
0 commit comments