2019-05-30 11:09:05 -04:00
// Copyright 2019 The Gitea Authors. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2019-05-30 11:09:05 -04:00
package repo
import (
"net/http"
"testing"
2021-12-10 09:27:50 +08:00
repo_model "code.gitea.io/gitea/models/repo"
2021-11-12 22:36:47 +08:00
"code.gitea.io/gitea/models/unittest"
2019-05-30 11:09:05 -04:00
"code.gitea.io/gitea/modules/context"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/test"
2021-01-26 23:36:53 +08:00
"code.gitea.io/gitea/modules/web"
2019-05-30 11:09:05 -04:00
"github.com/stretchr/testify/assert"
)
func TestRepoEdit ( t * testing . T ) {
2021-11-12 22:36:47 +08:00
unittest . PrepareTestEnv ( t )
2019-05-30 11:09:05 -04:00
ctx := test . MockContext ( t , "user2/repo1" )
test . LoadRepo ( t , ctx , 1 )
test . LoadUser ( t , ctx , 2 )
2022-03-22 08:03:22 +01:00
ctx . Repo . Owner = ctx . Doer
2019-05-30 11:09:05 -04:00
description := "new description"
website := "http://wwww.newwebsite.com"
private := true
hasIssues := false
hasWiki := false
defaultBranch := "master"
hasPullRequests := true
ignoreWhitespaceConflicts := true
allowMerge := false
allowRebase := false
allowRebaseMerge := false
allowSquashMerge := false
archived := true
opts := api . EditRepoOption {
Name : & ctx . Repo . Repository . Name ,
Description : & description ,
Website : & website ,
Private : & private ,
HasIssues : & hasIssues ,
HasWiki : & hasWiki ,
DefaultBranch : & defaultBranch ,
HasPullRequests : & hasPullRequests ,
IgnoreWhitespaceConflicts : & ignoreWhitespaceConflicts ,
AllowMerge : & allowMerge ,
AllowRebase : & allowRebase ,
AllowRebaseMerge : & allowRebaseMerge ,
AllowSquash : & allowSquashMerge ,
Archived : & archived ,
}
2022-01-20 18:46:10 +01:00
apiCtx := & context . APIContext { Context : ctx , Org : nil }
2021-01-26 23:36:53 +08:00
web . SetForm ( apiCtx , & opts )
Edit ( apiCtx )
2019-05-30 11:09:05 -04:00
assert . EqualValues ( t , http . StatusOK , ctx . Resp . Status ( ) )
2021-12-10 09:27:50 +08:00
unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository {
2019-05-30 11:09:05 -04:00
ID : 1 ,
2021-11-16 16:53:21 +08:00
} , unittest . Cond ( "name = ? AND is_archived = 1" , * opts . Name ) )
2019-05-30 11:09:05 -04:00
}
func TestRepoEditNameChange ( t * testing . T ) {
2021-11-12 22:36:47 +08:00
unittest . PrepareTestEnv ( t )
2019-05-30 11:09:05 -04:00
ctx := test . MockContext ( t , "user2/repo1" )
test . LoadRepo ( t , ctx , 1 )
test . LoadUser ( t , ctx , 2 )
2022-03-22 08:03:22 +01:00
ctx . Repo . Owner = ctx . Doer
2019-05-30 11:09:05 -04:00
name := "newname"
opts := api . EditRepoOption {
Name : & name ,
}
2022-01-20 18:46:10 +01:00
apiCtx := & context . APIContext { Context : ctx , Org : nil }
2021-01-26 23:36:53 +08:00
web . SetForm ( apiCtx , & opts )
Edit ( apiCtx )
2019-05-30 11:09:05 -04:00
assert . EqualValues ( t , http . StatusOK , ctx . Resp . Status ( ) )
2021-12-10 09:27:50 +08:00
unittest . AssertExistsAndLoadBean ( t , & repo_model . Repository {
2019-05-30 11:09:05 -04:00
ID : 1 ,
2021-11-16 16:53:21 +08:00
} , unittest . Cond ( "name = ?" , opts . Name ) )
2019-05-30 11:09:05 -04:00
}