diff options
author | Nanguan Lin <70063547+lng2020@users.noreply.github.com> | 2023-10-25 19:51:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-25 11:51:49 +0000 |
commit | 1eae2aadae0583ab092d6ed857bb727829aa52b7 (patch) | |
tree | 349dcc5539dab1d296ee7ccad6daf06ada863b76 /modules | |
parent | 31f8880bc252a25075f8752e2722b316c6e46ec7 (diff) | |
download | gitea-1eae2aadae0583ab092d6ed857bb727829aa52b7.tar.gz gitea-1eae2aadae0583ab092d6ed857bb727829aa52b7.zip |
Fix issue not showing on default board and add test (#27720)
See https://github.com/go-gitea/gitea/pull/27718#issuecomment-1773743014
. Add a test to ensure its behavior.
Why this test uses `ProjectBoardID=0`? Because in `SearchOptions`,
`ProjectBoardID=0` means what it is. But in `IssueOptions`,
`ProjectBoardID=0` means there is no condition, and
`ProjectBoardID=db.NoConditionID` means the board ID = 0.
It's really confusing. Probably it's better to separate the db search
engine and the other issue search code. It's really two different
systems. As far as I can see, `IssueOptions` is not necessary for most
of the code, which has very simple issue search conditions.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/indexer/issues/indexer_test.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/indexer/issues/indexer_test.go b/modules/indexer/issues/indexer_test.go index 0ec23164c2..da4fc9b878 100644 --- a/modules/indexer/issues/indexer_test.go +++ b/modules/indexer/issues/indexer_test.go @@ -382,6 +382,12 @@ func searchIssueInProject(t *testing.T) { }, []int64{1}, }, + { + SearchOptions{ + ProjectBoardID: int64Pointer(0), // issue with in default board + }, + []int64{2}, + }, } for _, test := range tests { issueIDs, _, err := SearchIssues(context.TODO(), &test.opts) |