11import { promises as fs } from 'node:fs' ;
22import { resolve } from 'node:path' ;
33import mustache from 'mustache' ;
4+ import deepmerge from 'deepmerge' ;
45import * as mkdir from 'make-dir' ;
56import * as camelcase from 'camelcase' ;
67import * as cucumberScaffolder from '@form8ion/cucumber-scaffolder' ;
@@ -15,6 +16,7 @@ vi.mock('node:fs');
1516vi . mock ( 'mustache' ) ;
1617vi . mock ( 'make-dir' ) ;
1718vi . mock ( 'camelcase' ) ;
19+ vi . mock ( 'deepmerge' ) ;
1820vi . mock ( '@form8ion/cucumber-scaffolder' ) ;
1921
2022describe ( 'testing' , ( ) => {
@@ -29,8 +31,8 @@ describe('testing', () => {
2931 } ) ;
3032
3133 it ( 'should create a canary cucumber test when the project will be integration tested' , async ( ) => {
32- const cucumberDevDependencies = any . listOf ( any . word ) ;
33- const cucumberResults = { ... any . simpleObject ( ) , devDependencies : cucumberDevDependencies } ;
34+ const cucumberResults = any . simpleObject ( ) ;
35+ const mergedResults = any . simpleObject ( ) ;
3436 const renderedContent = any . string ( ) ;
3537 const templateContent = any . string ( ) ;
3638 when ( mkdir . default )
@@ -44,13 +46,18 @@ describe('testing', () => {
4446 when ( mustache . render )
4547 . calledWith ( templateContent , { projectName : camelizedProjectName , packageName} )
4648 . mockReturnValue ( renderedContent ) ;
49+ when ( deepmerge )
50+ . calledWith (
51+ {
52+ dependencies : { javascript : { development : [ 'remark' , 'package-preview' ] } } ,
53+ scripts : { 'pretest:integration:base' : 'preview' }
54+ } ,
55+ cucumberResults
56+ )
57+ . mockReturnValue ( mergedResults ) ;
4758
4859 expect ( await scaffoldTesting ( { projectRoot, projectName, packageName, tests : { integration : true } } ) )
49- . toEqual ( {
50- ...cucumberResults ,
51- devDependencies : [ 'remark' , 'package-preview' , ...cucumberDevDependencies ] ,
52- scripts : { 'pretest:integration:base' : 'preview' }
53- } ) ;
60+ . toEqual ( mergedResults ) ;
5461 expect ( fs . writeFile ) . toHaveBeenCalledWith ( `${ pathToCreatedDirectory } /common-steps.js` , renderedContent ) ;
5562 } ) ;
5663
0 commit comments