@@ -4,9 +4,11 @@ import {describe, it, expect, vi} from 'vitest';
4
4
import any from '@travi/any' ;
5
5
6
6
import installDependencies from './installer.js' ;
7
+ import removeDependencies from './remover.js' ;
7
8
import processDependencies from './processor.js' ;
8
9
9
10
vi . mock ( './installer.js' ) ;
11
+ vi . mock ( './remover.js' ) ;
10
12
11
13
describe ( 'dependencies processor' , ( ) => {
12
14
const projectRoot = any . string ( ) ;
@@ -15,11 +17,17 @@ describe('dependencies processor', () => {
15
17
it ( 'should process the provided dependency lists' , async ( ) => {
16
18
const production = any . listOf ( any . word ) ;
17
19
const development = any . listOf ( any . word ) ;
20
+ const remove = any . listOf ( any . word ) ;
18
21
19
- await processDependencies ( { dependencies : { javascript : { production, development} } , projectRoot, packageManager} ) ;
22
+ await processDependencies ( {
23
+ dependencies : { javascript : { production, development, remove} } ,
24
+ projectRoot,
25
+ packageManager
26
+ } ) ;
20
27
21
28
expect ( installDependencies ) . toHaveBeenCalledWith ( production , PROD_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
22
29
expect ( installDependencies ) . toHaveBeenCalledWith ( development , DEV_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
30
+ expect ( removeDependencies ) . toHaveBeenCalledWith ( { packageManager, dependencies : remove } ) ;
23
31
} ) ;
24
32
25
33
it ( 'should process as empty lists when dependencies are not provided' , async ( ) => {
@@ -41,6 +49,7 @@ describe('dependencies processor', () => {
41
49
42
50
expect ( installDependencies ) . toHaveBeenCalledWith ( [ ] , PROD_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
43
51
expect ( installDependencies ) . toHaveBeenCalledWith ( [ ] , DEV_DEPENDENCY_TYPE , projectRoot , packageManager ) ;
52
+ expect ( removeDependencies ) . toHaveBeenCalledWith ( { packageManager, dependencies : [ ] } ) ;
44
53
} ) ;
45
54
46
55
it ( 'should prevent an installation error from bubbling' , async ( ) => {
0 commit comments