@@ -84,7 +84,7 @@ describe('File modification calculator tests', () => {
8484 } )
8585 modifiedResource . attachResourceInfo ( generateResourceInfo ( 'resource1' ) )
8686
87- const calculator = new FileModificationCalculator ( project . resourceConfigs , project . sourceMaps . getSourceMap ( defaultPath ) . file , project . sourceMaps ) ;
87+ const calculator = new FileModificationCalculator ( project ) ;
8888 const result = await calculator . calculate ( [ {
8989 modification : ModificationType . DELETE ,
9090 resource : modifiedResource ,
@@ -97,7 +97,6 @@ describe('File modification calculator tests', () => {
9797 ' "default": "latest"\n' +
9898 ' }\n' +
9999 ' }\n' +
100- ' \n' +
101100 ']' )
102101 console . log ( result )
103102 console . log ( result . diff )
@@ -136,15 +135,55 @@ describe('File modification calculator tests', () => {
136135 resource : modifiedResource ,
137136 } ] )
138137
139- // expect(result.newFile).to.eq('[\n' +
140- // ' {\n' +
141- // ' "type": "project",\n' +
142- // ' "plugins": {\n' +
143- // ' "default": "latest"\n' +
144- // ' }\n' +
145- // ' }\n' +
146- // ' \n' +
147- // ']')
138+ expect ( result . newFile ) . to . eq ( '[\n' +
139+ ' {\n' +
140+ ' "type": "project",\n' +
141+ ' "plugins": {\n' +
142+ ' "default": "latest"\n' +
143+ ' }\n' +
144+ ' }\n' +
145+ ']' , )
146+ console . log ( result )
147+ console . log ( result . diff )
148+ } )
149+
150+ it ( 'Can delete a resource from an existing config 3 (with proper commas)' , async ( ) => {
151+ const existingFile =
152+ `[
153+ { "type": "resource2", "param2": ["a", "b", "c"] }, { "type": "resource1", "param2": ["a", "b", "c"] }, {
154+ "type": "project",
155+ "plugins": {
156+ "default": "latest"
157+ }
158+ }
159+ ]`
160+ generateTestFile ( existingFile ) ;
161+
162+ const project = await CodifyParser . parse ( defaultPath )
163+ project . resourceConfigs . forEach ( ( r ) => {
164+ r . attachResourceInfo ( generateResourceInfo ( r . type ) )
165+ } ) ;
166+
167+ const modifiedResource = new ResourceConfig ( {
168+ type : 'resource1' ,
169+ parameter1 : 'abc'
170+ } )
171+ modifiedResource . attachResourceInfo ( generateResourceInfo ( 'resource1' ) )
172+
173+ const calculator = new FileModificationCalculator ( project ) ;
174+ const result = await calculator . calculate ( [ {
175+ modification : ModificationType . DELETE ,
176+ resource : modifiedResource ,
177+ } ] )
178+
179+ expect ( result . newFile ) . to . eq ( '[\n' +
180+ ' { "type": "resource2", "param2": ["a", "b", "c"] }, {\n' +
181+ ' "type": "project",\n' +
182+ ' "plugins": {\n' +
183+ ' "default": "latest"\n' +
184+ ' }\n' +
185+ ' }\n' +
186+ ']' )
148187 console . log ( result )
149188 console . log ( result . diff )
150189 } )
0 commit comments