@@ -17,6 +17,7 @@ import (
17
17
repo_model "code.gitea.io/gitea/models/repo"
18
18
"code.gitea.io/gitea/models/unittest"
19
19
user_model "code.gitea.io/gitea/models/user"
20
+ "code.gitea.io/gitea/modules/setting"
20
21
"code.gitea.io/gitea/modules/util"
21
22
22
23
"github.com/stretchr/testify/assert"
@@ -539,3 +540,47 @@ func TestCountIssues(t *testing.T) {
539
540
assert .NoError (t , err )
540
541
assert .EqualValues (t , 18 , count )
541
542
}
543
+
544
+ func TestIssueLoadAttributes (t * testing.T ) {
545
+ assert .NoError (t , unittest .PrepareTestDatabase ())
546
+ setting .Service .EnableTimetracking = true
547
+
548
+ issueList := issues_model.IssueList {
549
+ unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 1 }),
550
+ unittest .AssertExistsAndLoadBean (t , & issues_model.Issue {ID : 4 }),
551
+ }
552
+
553
+ for _ , issue := range issueList {
554
+ assert .NoError (t , issue .LoadAttributes (db .DefaultContext ))
555
+ assert .EqualValues (t , issue .RepoID , issue .Repo .ID )
556
+ for _ , label := range issue .Labels {
557
+ assert .EqualValues (t , issue .RepoID , label .RepoID )
558
+ unittest .AssertExistsAndLoadBean (t , & issues_model.IssueLabel {IssueID : issue .ID , LabelID : label .ID })
559
+ }
560
+ if issue .PosterID > 0 {
561
+ assert .EqualValues (t , issue .PosterID , issue .Poster .ID )
562
+ }
563
+ if issue .AssigneeID > 0 {
564
+ assert .EqualValues (t , issue .AssigneeID , issue .Assignee .ID )
565
+ }
566
+ if issue .MilestoneID > 0 {
567
+ assert .EqualValues (t , issue .MilestoneID , issue .Milestone .ID )
568
+ }
569
+ if issue .IsPull {
570
+ assert .EqualValues (t , issue .ID , issue .PullRequest .IssueID )
571
+ }
572
+ for _ , attachment := range issue .Attachments {
573
+ assert .EqualValues (t , issue .ID , attachment .IssueID )
574
+ }
575
+ for _ , comment := range issue .Comments {
576
+ assert .EqualValues (t , issue .ID , comment .IssueID )
577
+ }
578
+ if issue .ID == int64 (1 ) {
579
+ assert .Equal (t , int64 (400 ), issue .TotalTrackedTime )
580
+ assert .NotNil (t , issue .Project )
581
+ assert .Equal (t , int64 (1 ), issue .Project .ID )
582
+ } else {
583
+ assert .Nil (t , issue .Project )
584
+ }
585
+ }
586
+ }
0 commit comments