From 1eae2aadae0583ab092d6ed857bb727829aa52b7 Mon Sep 17 00:00:00 2001 From: Nanguan Lin <70063547+lng2020@users.noreply.github.com> Date: Wed, 25 Oct 2023 19:51:49 +0800 Subject: 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. --- modules/indexer/issues/indexer_test.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'modules') 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) -- cgit v1.2.3