code.gitea.io/gitea@v1.21.7/routers/api/v1/repo/repo_test.go (about) 1 // Copyright 2019 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package repo 5 6 import ( 7 "net/http" 8 "testing" 9 10 repo_model "code.gitea.io/gitea/models/repo" 11 "code.gitea.io/gitea/models/unittest" 12 "code.gitea.io/gitea/modules/contexttest" 13 api "code.gitea.io/gitea/modules/structs" 14 "code.gitea.io/gitea/modules/web" 15 16 "github.com/stretchr/testify/assert" 17 ) 18 19 func TestRepoEdit(t *testing.T) { 20 unittest.PrepareTestEnv(t) 21 22 ctx, _ := contexttest.MockAPIContext(t, "user2/repo1") 23 contexttest.LoadRepo(t, ctx, 1) 24 contexttest.LoadUser(t, ctx, 2) 25 ctx.Repo.Owner = ctx.Doer 26 description := "new description" 27 website := "http://wwww.newwebsite.com" 28 private := true 29 hasIssues := false 30 hasWiki := false 31 defaultBranch := "master" 32 hasPullRequests := true 33 ignoreWhitespaceConflicts := true 34 allowMerge := false 35 allowRebase := false 36 allowRebaseMerge := false 37 allowSquashMerge := false 38 archived := true 39 opts := api.EditRepoOption{ 40 Name: &ctx.Repo.Repository.Name, 41 Description: &description, 42 Website: &website, 43 Private: &private, 44 HasIssues: &hasIssues, 45 HasWiki: &hasWiki, 46 DefaultBranch: &defaultBranch, 47 HasPullRequests: &hasPullRequests, 48 IgnoreWhitespaceConflicts: &ignoreWhitespaceConflicts, 49 AllowMerge: &allowMerge, 50 AllowRebase: &allowRebase, 51 AllowRebaseMerge: &allowRebaseMerge, 52 AllowSquash: &allowSquashMerge, 53 Archived: &archived, 54 } 55 56 web.SetForm(ctx, &opts) 57 Edit(ctx) 58 59 assert.EqualValues(t, http.StatusOK, ctx.Resp.Status()) 60 unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ 61 ID: 1, 62 }, unittest.Cond("name = ? AND is_archived = 1", *opts.Name)) 63 } 64 65 func TestRepoEditNameChange(t *testing.T) { 66 unittest.PrepareTestEnv(t) 67 68 ctx, _ := contexttest.MockAPIContext(t, "user2/repo1") 69 contexttest.LoadRepo(t, ctx, 1) 70 contexttest.LoadUser(t, ctx, 2) 71 ctx.Repo.Owner = ctx.Doer 72 name := "newname" 73 opts := api.EditRepoOption{ 74 Name: &name, 75 } 76 77 web.SetForm(ctx, &opts) 78 Edit(ctx) 79 assert.EqualValues(t, http.StatusOK, ctx.Resp.Status()) 80 81 unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ 82 ID: 1, 83 }, unittest.Cond("name = ?", opts.Name)) 84 }