loading up the forgejo repo on tangled to test page performance
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge pull request 'fix: correct SQL query for active issues' (#5627) from gusted/forgejo-fix-active-issues into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/5627
Reviewed-by: Otto <otto@codeberg.org>

Gusted 55c30ba2 b5ccb55b

+31 -2
+1 -2
models/activities/repo_activity.go
··· 337 337 func activeIssues(ctx context.Context, repoID int64, fromTime time.Time) *xorm.Session { 338 338 sess := db.GetEngine(ctx).Where("issue.repo_id = ?", repoID). 339 339 And("issue.is_pull = ?", false). 340 - And("issue.created_unix >= ?", fromTime.Unix()). 341 - Or("issue.closed_unix >= ?", fromTime.Unix()) 340 + And("issue.created_unix >= ? OR issue.closed_unix >= ?", fromTime.Unix(), fromTime.Unix()) 342 341 343 342 return sess 344 343 }
+30
models/activities/repo_activity_test.go
··· 1 + // Copyright 2024 The Forgejo Authors. All rights reserved. 2 + // SPDX-License-Identifier: MIT 3 + 4 + package activities 5 + 6 + import ( 7 + "testing" 8 + "time" 9 + 10 + "code.gitea.io/gitea/models/db" 11 + repo_model "code.gitea.io/gitea/models/repo" 12 + "code.gitea.io/gitea/models/unittest" 13 + 14 + "github.com/stretchr/testify/assert" 15 + "github.com/stretchr/testify/require" 16 + ) 17 + 18 + func TestGetActivityStats(t *testing.T) { 19 + require.NoError(t, unittest.PrepareTestDatabase()) 20 + 21 + repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1}) 22 + 23 + stats, err := GetActivityStats(db.DefaultContext, repo, time.Unix(0, 0), true, true, true, true) 24 + require.NoError(t, err) 25 + 26 + assert.EqualValues(t, 2, stats.ActiveIssueCount()) 27 + assert.EqualValues(t, 2, stats.OpenedIssueCount()) 28 + assert.EqualValues(t, 0, stats.ClosedIssueCount()) 29 + assert.EqualValues(t, 3, stats.ActivePRCount()) 30 + }