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.

issue_list_test.go 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package issues_test
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/db"
  7. issues_model "code.gitea.io/gitea/models/issues"
  8. "code.gitea.io/gitea/models/unittest"
  9. "code.gitea.io/gitea/modules/setting"
  10. "github.com/stretchr/testify/assert"
  11. )
  12. func TestIssueList_LoadRepositories(t *testing.T) {
  13. assert.NoError(t, unittest.PrepareTestDatabase())
  14. issueList := issues_model.IssueList{
  15. unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1}),
  16. unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 2}),
  17. unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 4}),
  18. }
  19. repos, err := issueList.LoadRepositories(db.DefaultContext)
  20. assert.NoError(t, err)
  21. assert.Len(t, repos, 2)
  22. for _, issue := range issueList {
  23. assert.EqualValues(t, issue.RepoID, issue.Repo.ID)
  24. }
  25. }
  26. func TestIssueList_LoadAttributes(t *testing.T) {
  27. assert.NoError(t, unittest.PrepareTestDatabase())
  28. setting.Service.EnableTimetracking = true
  29. issueList := issues_model.IssueList{
  30. unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1}),
  31. unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 4}),
  32. }
  33. assert.NoError(t, issueList.LoadAttributes(db.DefaultContext))
  34. for _, issue := range issueList {
  35. assert.EqualValues(t, issue.RepoID, issue.Repo.ID)
  36. for _, label := range issue.Labels {
  37. assert.EqualValues(t, issue.RepoID, label.RepoID)
  38. unittest.AssertExistsAndLoadBean(t, &issues_model.IssueLabel{IssueID: issue.ID, LabelID: label.ID})
  39. }
  40. if issue.PosterID > 0 {
  41. assert.EqualValues(t, issue.PosterID, issue.Poster.ID)
  42. }
  43. if issue.AssigneeID > 0 {
  44. assert.EqualValues(t, issue.AssigneeID, issue.Assignee.ID)
  45. }
  46. if issue.MilestoneID > 0 {
  47. assert.EqualValues(t, issue.MilestoneID, issue.Milestone.ID)
  48. }
  49. if issue.IsPull {
  50. assert.EqualValues(t, issue.ID, issue.PullRequest.IssueID)
  51. }
  52. for _, attachment := range issue.Attachments {
  53. assert.EqualValues(t, issue.ID, attachment.IssueID)
  54. }
  55. for _, comment := range issue.Comments {
  56. assert.EqualValues(t, issue.ID, comment.IssueID)
  57. }
  58. if issue.ID == int64(1) {
  59. assert.Equal(t, int64(400), issue.TotalTrackedTime)
  60. assert.NotNil(t, issue.Project)
  61. assert.Equal(t, int64(1), issue.Project.ID)
  62. } else {
  63. assert.Nil(t, issue.Project)
  64. }
  65. }
  66. }