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_test.go 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package convert
  4. import (
  5. "fmt"
  6. "testing"
  7. "time"
  8. issues_model "code.gitea.io/gitea/models/issues"
  9. repo_model "code.gitea.io/gitea/models/repo"
  10. "code.gitea.io/gitea/models/unittest"
  11. "code.gitea.io/gitea/modules/setting"
  12. api "code.gitea.io/gitea/modules/structs"
  13. "code.gitea.io/gitea/modules/timeutil"
  14. "github.com/stretchr/testify/assert"
  15. )
  16. func TestLabel_ToLabel(t *testing.T) {
  17. assert.NoError(t, unittest.PrepareTestDatabase())
  18. label := unittest.AssertExistsAndLoadBean(t, &issues_model.Label{ID: 1})
  19. repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: label.RepoID})
  20. assert.Equal(t, &api.Label{
  21. ID: label.ID,
  22. Name: label.Name,
  23. Color: "abcdef",
  24. URL: fmt.Sprintf("%sapi/v1/repos/user2/repo1/labels/%d", setting.AppURL, label.ID),
  25. }, ToLabel(label, repo, nil))
  26. }
  27. func TestMilestone_APIFormat(t *testing.T) {
  28. milestone := &issues_model.Milestone{
  29. ID: 3,
  30. RepoID: 4,
  31. Name: "milestoneName",
  32. Content: "milestoneContent",
  33. IsClosed: false,
  34. NumOpenIssues: 5,
  35. NumClosedIssues: 6,
  36. CreatedUnix: timeutil.TimeStamp(time.Date(1999, time.January, 1, 0, 0, 0, 0, time.UTC).Unix()),
  37. UpdatedUnix: timeutil.TimeStamp(time.Date(1999, time.March, 1, 0, 0, 0, 0, time.UTC).Unix()),
  38. DeadlineUnix: timeutil.TimeStamp(time.Date(2000, time.January, 1, 0, 0, 0, 0, time.UTC).Unix()),
  39. }
  40. assert.Equal(t, api.Milestone{
  41. ID: milestone.ID,
  42. State: api.StateOpen,
  43. Title: milestone.Name,
  44. Description: milestone.Content,
  45. OpenIssues: milestone.NumOpenIssues,
  46. ClosedIssues: milestone.NumClosedIssues,
  47. Created: milestone.CreatedUnix.AsTime(),
  48. Updated: milestone.UpdatedUnix.AsTimePtr(),
  49. Deadline: milestone.DeadlineUnix.AsTimePtr(),
  50. }, *ToAPIMilestone(milestone))
  51. }