gitea源码

user_repo_test.go 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package repo_test
  4. import (
  5. "testing"
  6. repo_model "code.gitea.io/gitea/models/repo"
  7. "code.gitea.io/gitea/models/unittest"
  8. user_model "code.gitea.io/gitea/models/user"
  9. "github.com/stretchr/testify/assert"
  10. "github.com/stretchr/testify/require"
  11. )
  12. func TestRepoAssignees(t *testing.T) {
  13. assert.NoError(t, unittest.PrepareTestDatabase())
  14. repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
  15. users, err := repo_model.GetRepoAssignees(t.Context(), repo2)
  16. assert.NoError(t, err)
  17. assert.Len(t, users, 1)
  18. assert.Equal(t, int64(2), users[0].ID)
  19. repo21 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 21})
  20. users, err = repo_model.GetRepoAssignees(t.Context(), repo21)
  21. assert.NoError(t, err)
  22. if assert.Len(t, users, 4) {
  23. assert.ElementsMatch(t, []int64{10, 15, 16, 18}, []int64{users[0].ID, users[1].ID, users[2].ID, users[3].ID})
  24. }
  25. // do not return deactivated users
  26. assert.NoError(t, user_model.UpdateUserCols(t.Context(), &user_model.User{ID: 15, IsActive: false}, "is_active"))
  27. users, err = repo_model.GetRepoAssignees(t.Context(), repo21)
  28. assert.NoError(t, err)
  29. if assert.Len(t, users, 3) {
  30. assert.NotContains(t, []int64{users[0].ID, users[1].ID, users[2].ID}, 15)
  31. }
  32. }
  33. func TestGetIssuePostersWithSearch(t *testing.T) {
  34. assert.NoError(t, unittest.PrepareTestDatabase())
  35. repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
  36. users, err := repo_model.GetIssuePostersWithSearch(t.Context(), repo2, false, "USER", false /* full name */)
  37. require.NoError(t, err)
  38. require.Len(t, users, 1)
  39. assert.Equal(t, "user2", users[0].Name)
  40. users, err = repo_model.GetIssuePostersWithSearch(t.Context(), repo2, false, "TW%O", true /* full name */)
  41. require.NoError(t, err)
  42. require.Len(t, users, 1)
  43. assert.Equal(t, "user2", users[0].Name)
  44. }