@@ -130,11 +130,14 @@ func getNewRepoEditOption(opts *api.EditRepoOption) *api.EditRepoOption {
130130
131131func TestAPIRepoEdit (t * testing.T ) {
132132 onGiteaRun (t , func (t * testing.T , u * url.URL ) {
133+ bFalse , bTrue := false , true
134+
133135 user2 := models .AssertExistsAndLoadBean (t , & models.User {ID : 2 }).(* models.User ) // owner of the repo1 & repo16
134136 user3 := models .AssertExistsAndLoadBean (t , & models.User {ID : 3 }).(* models.User ) // owner of the repo3, is an org
135137 user4 := models .AssertExistsAndLoadBean (t , & models.User {ID : 4 }).(* models.User ) // owner of neither repos
136138 repo1 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 1 }).(* models.Repository ) // public repo
137139 repo3 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 3 }).(* models.Repository ) // public repo
140+ repo15 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 15 }).(* models.Repository ) // empty repo
138141 repo16 := models .AssertExistsAndLoadBean (t , & models.Repository {ID : 16 }).(* models.Repository ) // private repo
139142
140143 // Get user2's token
@@ -286,21 +289,33 @@ func TestAPIRepoEdit(t *testing.T) {
286289 // Test making a repo public that is private
287290 repo16 = models .AssertExistsAndLoadBean (t , & models.Repository {ID : 16 }).(* models.Repository )
288291 assert .True (t , repo16 .IsPrivate )
289- private := false
290292 repoEditOption = & api.EditRepoOption {
291- Private : & private ,
293+ Private : & bFalse ,
292294 }
293295 url = fmt .Sprintf ("/api/v1/repos/%s/%s?token=%s" , user2 .Name , repo16 .Name , token2 )
294296 req = NewRequestWithJSON (t , "PATCH" , url , & repoEditOption )
295297 _ = session .MakeRequest (t , req , http .StatusOK )
296298 repo16 = models .AssertExistsAndLoadBean (t , & models.Repository {ID : 16 }).(* models.Repository )
297299 assert .False (t , repo16 .IsPrivate )
298300 // Make it private again
299- private = true
300- repoEditOption .Private = & private
301+ repoEditOption .Private = & bTrue
301302 req = NewRequestWithJSON (t , "PATCH" , url , & repoEditOption )
302303 _ = session .MakeRequest (t , req , http .StatusOK )
303304
305+ // Test to change empty repo
306+ assert .False (t , repo15 .IsArchived )
307+ url = fmt .Sprintf ("/api/v1/repos/%s/%s?token=%s" , user2 .Name , repo15 .Name , token2 )
308+ req = NewRequestWithJSON (t , "PATCH" , url , & api.EditRepoOption {
309+ Archived : & bTrue ,
310+ })
311+ _ = session .MakeRequest (t , req , http .StatusOK )
312+ repo15 = models .AssertExistsAndLoadBean (t , & models.Repository {ID : 15 }).(* models.Repository )
313+ assert .True (t , repo15 .IsArchived )
314+ req = NewRequestWithJSON (t , "PATCH" , url , & api.EditRepoOption {
315+ Archived : & bFalse ,
316+ })
317+ _ = session .MakeRequest (t , req , http .StatusOK )
318+
304319 // Test using org repo "user3/repo3" where user2 is a collaborator
305320 origRepoEditOption = getRepoEditOptionFromRepo (repo3 )
306321 repoEditOption = getNewRepoEditOption (origRepoEditOption )
0 commit comments