You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

repo_test.go 2.3KB

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