From 4549d9b920d4b38825840a8a579a5ba3c0edff05 Mon Sep 17 00:00:00 2001 From: forgejo-backport-action Date: Sun, 16 Jun 2024 19:06:43 +0000 Subject: [PATCH] [v7.0/forgejo] Fix bug in `GetIssueStats` (#4152) **Backport:** https://codeberg.org/forgejo/forgejo/pulls/4124 Co-authored-by: JakobDev Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4152 Reviewed-by: Earl Warren Co-authored-by: forgejo-backport-action Co-committed-by: forgejo-backport-action --- models/issues/issue_stats.go | 2 +- models/issues/issue_stats_test.go | 34 +++++++++++++++++++++++++++++++ release-notes/8.0.0/fix/4124.md | 1 + 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 models/issues/issue_stats_test.go create mode 100644 release-notes/8.0.0/fix/4124.md diff --git a/models/issues/issue_stats.go b/models/issues/issue_stats.go index 39326616f8..dc634cf00e 100644 --- a/models/issues/issue_stats.go +++ b/models/issues/issue_stats.go @@ -107,7 +107,7 @@ func GetIssueStats(ctx context.Context, opts *IssuesOptions) (*IssueStats, error accum.YourRepositoriesCount += stats.YourRepositoriesCount accum.AssignCount += stats.AssignCount accum.CreateCount += stats.CreateCount - accum.OpenCount += stats.MentionCount + accum.MentionCount += stats.MentionCount accum.ReviewRequestedCount += stats.ReviewRequestedCount accum.ReviewedCount += stats.ReviewedCount i = chunk diff --git a/models/issues/issue_stats_test.go b/models/issues/issue_stats_test.go new file mode 100644 index 0000000000..fda75a6b47 --- /dev/null +++ b/models/issues/issue_stats_test.go @@ -0,0 +1,34 @@ +// Copyright 2024 The Forgejo Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package issues_test + +import ( + "testing" + + "code.gitea.io/gitea/models/db" + issues_model "code.gitea.io/gitea/models/issues" + "code.gitea.io/gitea/models/unittest" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestGetIssueStats(t *testing.T) { + require.NoError(t, unittest.PrepareTestDatabase()) + + ids, err := issues_model.GetIssueIDsByRepoID(db.DefaultContext, 1) + require.NoError(t, err) + + stats, err := issues_model.GetIssueStats(db.DefaultContext, &issues_model.IssuesOptions{IssueIDs: ids}) + require.NoError(t, err) + + assert.Equal(t, int64(4), stats.OpenCount) + assert.Equal(t, int64(1), stats.ClosedCount) + assert.Equal(t, int64(0), stats.YourRepositoriesCount) + assert.Equal(t, int64(0), stats.AssignCount) + assert.Equal(t, int64(0), stats.CreateCount) + assert.Equal(t, int64(0), stats.MentionCount) + assert.Equal(t, int64(0), stats.ReviewRequestedCount) + assert.Equal(t, int64(0), stats.ReviewedCount) +} diff --git a/release-notes/8.0.0/fix/4124.md b/release-notes/8.0.0/fix/4124.md new file mode 100644 index 0000000000..47c65e2ce9 --- /dev/null +++ b/release-notes/8.0.0/fix/4124.md @@ -0,0 +1 @@ +Fixed bug in `GetIssueStats`