@@ -160,6 +160,30 @@ func Test_NewCmdCreate(t *testing.T) {
160160 isTTY : true ,
161161 wantErr : "could not create: no tag name provided" ,
162162 },
163+ {
164+ name : "discussion category" ,
165+ args : "v1.2.3 --discussion-category 'General'" ,
166+ isTTY : true ,
167+ want : CreateOptions {
168+ TagName : "v1.2.3" ,
169+ Target : "" ,
170+ Name : "" ,
171+ Body : "" ,
172+ BodyProvided : false ,
173+ Draft : false ,
174+ Prerelease : false ,
175+ RepoOverride : "" ,
176+ Concurrency : 5 ,
177+ Assets : []* shared.AssetForUpload (nil ),
178+ DiscussionCategory : "General" ,
179+ },
180+ },
181+ {
182+ name : "discussion category for draft release" ,
183+ args : "v1.2.3 -d --discussion-category 'General'" ,
184+ isTTY : true ,
185+ wantErr : "Discussions for draft releases not supported" ,
186+ },
163187 }
164188 for _ , tt := range tests {
165189 t .Run (tt .name , func (t * testing.T ) {
@@ -209,6 +233,7 @@ func Test_NewCmdCreate(t *testing.T) {
209233 assert .Equal (t , tt .want .Prerelease , opts .Prerelease )
210234 assert .Equal (t , tt .want .Concurrency , opts .Concurrency )
211235 assert .Equal (t , tt .want .RepoOverride , opts .RepoOverride )
236+ assert .Equal (t , tt .want .DiscussionCategory , opts .DiscussionCategory )
212237
213238 require .Equal (t , len (tt .want .Assets ), len (opts .Assets ))
214239 for i := range tt .want .Assets {
@@ -249,6 +274,28 @@ func Test_createRun(t *testing.T) {
249274 wantStdout : "https://github.com/OWNER/REPO/releases/tag/v1.2.3\n " ,
250275 wantStderr : `` ,
251276 },
277+ {
278+ name : "with discussion category" ,
279+ isTTY : true ,
280+ opts : CreateOptions {
281+ TagName : "v1.2.3" ,
282+ Name : "The Big 1.2" ,
283+ Body : "* Fixed bugs" ,
284+ BodyProvided : true ,
285+ Target : "" ,
286+ DiscussionCategory : "General" ,
287+ },
288+ wantParams : map [string ]interface {}{
289+ "tag_name" : "v1.2.3" ,
290+ "name" : "The Big 1.2" ,
291+ "body" : "* Fixed bugs" ,
292+ "draft" : false ,
293+ "prerelease" : false ,
294+ "discussion_category_name" : "General" ,
295+ },
296+ wantStdout : "https://github.com/OWNER/REPO/releases/tag/v1.2.3\n " ,
297+ wantStderr : `` ,
298+ },
252299 {
253300 name : "with target commitish" ,
254301 isTTY : true ,
@@ -291,6 +338,29 @@ func Test_createRun(t *testing.T) {
291338 wantStdout : "https://github.com/OWNER/REPO/releases/tag/v1.2.3\n " ,
292339 wantStderr : `` ,
293340 },
341+ {
342+ name : "discussion category for draft release" ,
343+ isTTY : true ,
344+ opts : CreateOptions {
345+ TagName : "v1.2.3" ,
346+ Name : "" ,
347+ Body : "" ,
348+ BodyProvided : true ,
349+ Draft : true ,
350+ Target : "" ,
351+ DiscussionCategory : "general" ,
352+ },
353+ wantParams : map [string ]interface {}{
354+ "tag_name" : "v1.2.3" ,
355+ "name" : "" ,
356+ "body" : "" ,
357+ "draft" : true ,
358+ "prerelease" : false ,
359+ "discussion_category_name" : "general" ,
360+ },
361+ wantErr : "X Discussions not supported with draft releases" ,
362+ wantStdout : "" ,
363+ },
294364 {
295365 name : "publish after uploading files" ,
296366 isTTY : true ,
0 commit comments