@@ -85,7 +85,7 @@ describe("Action", () => {
8585 } )
8686
8787 it ( "creates release with generated release notes that override existing body" , async ( ) => {
88- const action = createAction ( false , false , false , true , false , "existing body " )
88+ const action = createAction ( false , false , false , true , false , "" )
8989
9090 await action . perform ( )
9191
@@ -126,8 +126,29 @@ describe("Action", () => {
126126 assertAssetUrlsApplied ( { } )
127127 } )
128128
129+ it ( "creates release with combined body and generated release notes" , async ( ) => {
130+ const action = createAction ( false , false , false , true , false , createBody )
131+
132+ await action . perform ( )
133+
134+ expect ( genReleaseNotesMock ) . toHaveBeenCalledWith ( tag )
135+ expect ( createMock ) . toHaveBeenCalledWith (
136+ tag ,
137+ `${ createBody } \n${ generatedReleaseBody } ` ,
138+ commit ,
139+ discussionCategory ,
140+ createDraft ,
141+ makeLatest ,
142+ createName ,
143+ createPrerelease
144+ )
145+ expect ( uploadMock ) . not . toHaveBeenCalled ( )
146+ assertOutputApplied ( )
147+ assertAssetUrlsApplied ( { } )
148+ } )
149+
129150 it ( "creates release but does not upload if no artifact" , async ( ) => {
130- const action = createAction ( false , false )
151+ const action = createAction ( false , false , false , true , false , "" )
131152
132153 await action . perform ( )
133154
@@ -148,7 +169,7 @@ describe("Action", () => {
148169 } )
149170
150171 it ( "creates release if no release exists to update" , async ( ) => {
151- const action = createAction ( true , true )
172+ const action = createAction ( true , true , false , true , false , "" )
152173 const error = { status : 404 }
153174 getMock . mockRejectedValue ( error )
154175
@@ -174,7 +195,7 @@ describe("Action", () => {
174195 } )
175196
176197 it ( "creates release if no draft releases" , async ( ) => {
177- const action = createAction ( true , true )
198+ const action = createAction ( true , true , false , true , false , "" )
178199 const error = { status : 404 }
179200 getMock . mockRejectedValue ( error )
180201 listMock . mockResolvedValue ( {
@@ -203,7 +224,7 @@ describe("Action", () => {
203224 } )
204225
205226 it ( "creates release then uploads artifact" , async ( ) => {
206- const action = createAction ( false , true )
227+ const action = createAction ( false , true , false , true , false , "" )
207228
208229 await action . perform ( )
209230
@@ -263,7 +284,7 @@ describe("Action", () => {
263284 } )
264285
265286 it ( "throws error when create fails" , async ( ) => {
266- const action = createAction ( false , true )
287+ const action = createAction ( false , true , false , true , false , "" )
267288 createMock . mockRejectedValue ( "error" )
268289
269290 expect . hasAssertions ( )
@@ -337,7 +358,7 @@ describe("Action", () => {
337358 } )
338359
339360 it ( "throws error when update fails" , async ( ) => {
340- const action = createAction ( true , true )
361+ const action = createAction ( true , true , false , true , false , "" , true , createDraft , "" )
341362
342363 updateMock . mockRejectedValue ( "error" )
343364
@@ -363,7 +384,7 @@ describe("Action", () => {
363384 } )
364385
365386 it ( "throws error when upload fails" , async ( ) => {
366- const action = createAction ( false , true )
387+ const action = createAction ( false , true , false , true , false , "" )
367388 const expectedError = { status : 404 }
368389 uploadMock . mockRejectedValue ( expectedError )
369390
@@ -389,7 +410,7 @@ describe("Action", () => {
389410 } )
390411
391412 it ( "updates draft release" , async ( ) => {
392- const action = createAction ( true , true )
413+ const action = createAction ( true , true , false , true , false , "" , true , createDraft , "" )
393414 const error = { status : 404 }
394415 getMock . mockRejectedValue ( error )
395416 listMock . mockResolvedValue ( {
@@ -452,8 +473,33 @@ describe("Action", () => {
452473 } )
453474 } )
454475
476+ it ( "updates release with combined body and generated release notes" , async ( ) => {
477+ const action = createAction ( true , true , false , true , false , "" , true , createDraft , updateBody )
478+
479+ await action . perform ( )
480+
481+ expect ( genReleaseNotesMock ) . toHaveBeenCalledWith ( tag )
482+ expect ( updateMock ) . toHaveBeenCalledWith (
483+ id ,
484+ tag ,
485+ `${ updateBody } \n${ generatedReleaseBody } ` ,
486+ commit ,
487+ discussionCategory ,
488+ updateDraft ,
489+ makeLatest ,
490+ updateName ,
491+ updatePrerelease
492+ )
493+ expect ( uploadMock ) . toHaveBeenCalledWith ( artifacts , releaseId , url )
494+ assertOutputApplied ( )
495+ assertAssetUrlsApplied ( {
496+ "art1" : "https://github.com/owner/repo/releases/download/v1.0.0/art1" ,
497+ "art2" : "https://github.com/owner/repo/releases/download/v1.0.0/art2" ,
498+ } )
499+ } )
500+
455501 it ( "updates release but does not upload if no artifact" , async ( ) => {
456- const action = createAction ( true , false )
502+ const action = createAction ( true , false , false , true , false , "" , true , createDraft , "" )
457503
458504 await action . perform ( )
459505
@@ -474,7 +520,7 @@ describe("Action", () => {
474520 } )
475521
476522 it ( "updates release then uploads artifact" , async ( ) => {
477- const action = createAction ( true , true )
523+ const action = createAction ( true , true , false , true , false , "" , true , createDraft , "" )
478524
479525 await action . perform ( )
480526
@@ -530,7 +576,7 @@ describe("Action", () => {
530576 } )
531577
532578 it ( "does not publish immutable release when immutableCreate is false" , async ( ) => {
533- const action = createAction ( false , true , false , true , false , createBody , false , false )
579+ const action = createAction ( false , true , false , true , false , "" , false , false )
534580
535581 await action . perform ( )
536582
@@ -550,7 +596,7 @@ describe("Action", () => {
550596 } )
551597
552598 it ( "does not publish immutable release when createdDraft is true" , async ( ) => {
553- const action = createAction ( false , true , false , true , false , createBody , true , true )
599+ const action = createAction ( false , true , false , true , false , "" , true , true )
554600
555601 await action . perform ( )
556602
@@ -570,7 +616,7 @@ describe("Action", () => {
570616 } )
571617
572618 it ( "publishes immutable release when immutableCreate is true and createdDraft is false" , async ( ) => {
573- const action = createAction ( false , true , false , true , false , createBody , true , false )
619+ const action = createAction ( false , true , false , true , false , "" , true , false )
574620 const immutableReleaseResponse = {
575621 data : {
576622 id : 999 ,
@@ -615,7 +661,7 @@ describe("Action", () => {
615661 } )
616662
617663 it ( "publishes immutable release when allowUpdates is true but release does not exist" , async ( ) => {
618- const action = createAction ( true , true , false , true , false , createBody , true , false )
664+ const action = createAction ( true , true , false , true , false , "" , true , false )
619665 const error = { status : 404 }
620666 getMock . mockRejectedValue ( error )
621667 listMock . mockResolvedValue ( { data : [ ] } ) // No draft releases found
@@ -690,7 +736,8 @@ describe("Action", () => {
690736 omitBodyDuringUpdate = false ,
691737 createdReleaseBody = createBody ,
692738 immutableCreate = true ,
693- createdDraft = createDraft
739+ createdDraft = createDraft ,
740+ updatedReleaseBody = updateBody
694741 ) : Action {
695742 let inputArtifact : Artifact [ ]
696743
@@ -773,7 +820,7 @@ describe("Action", () => {
773820 tag,
774821 token,
775822 updatedDraft : updateDraft ,
776- updatedReleaseBody : updateBody ,
823+ updatedReleaseBody : updatedReleaseBody ,
777824 updatedReleaseName : updateName ,
778825 updatedPrerelease : updatePrerelease ,
779826 updateOnlyUnreleased : updateOnlyUnreleased ,
0 commit comments