Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

issue_list_test.go 2.0KB

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