aboutsummaryrefslogtreecommitdiffstats
path: root/models/git/commit_status_test.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2025-05-27 03:00:22 +0800
committerGitHub <noreply@github.com>2025-05-26 19:00:22 +0000
commit688da55f543f82265cc7df2bd1cf2bce53188b7a (patch)
treef24539a5c6ae3eaa37b3e1b61996a3ccac1e2a35 /models/git/commit_status_test.go
parentab9691291d313aedab7b459c42e1e1dd15f05461 (diff)
downloadgitea-688da55f543f82265cc7df2bd1cf2bce53188b7a.tar.gz
gitea-688da55f543f82265cc7df2bd1cf2bce53188b7a.zip
Split GetLatestCommitStatus as two functions (#34535)
Extract from #34531. This will reduce unnecessary count operation in databases. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'models/git/commit_status_test.go')
-rw-r--r--models/git/commit_status_test.go25
1 files changed, 24 insertions, 1 deletions
diff --git a/models/git/commit_status_test.go b/models/git/commit_status_test.go
index 37d785e938..a01d030e71 100644
--- a/models/git/commit_status_test.go
+++ b/models/git/commit_status_test.go
@@ -26,7 +26,7 @@ func TestGetCommitStatuses(t *testing.T) {
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
- sha1 := "1234123412341234123412341234123412341234"
+ sha1 := "1234123412341234123412341234123412341234" // the mocked commit ID in test fixtures
statuses, maxResults, err := db.FindAndCount[git_model.CommitStatus](db.DefaultContext, &git_model.CommitStatusOptions{
ListOptions: db.ListOptions{Page: 1, PageSize: 50},
@@ -256,3 +256,26 @@ func TestCommitStatusesHideActionsURL(t *testing.T) {
assert.Empty(t, statuses[0].TargetURL)
assert.Equal(t, "https://mycicd.org/1", statuses[1].TargetURL)
}
+
+func TestGetCountLatestCommitStatus(t *testing.T) {
+ assert.NoError(t, unittest.PrepareTestDatabase())
+
+ repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
+
+ sha1 := "1234123412341234123412341234123412341234" // the mocked commit ID in test fixtures
+
+ commitStatuses, err := git_model.GetLatestCommitStatus(db.DefaultContext, repo1.ID, sha1, db.ListOptions{
+ Page: 1,
+ PageSize: 2,
+ })
+ assert.NoError(t, err)
+ assert.Len(t, commitStatuses, 2)
+ assert.Equal(t, structs.CommitStatusFailure, commitStatuses[0].State)
+ assert.Equal(t, "ci/awesomeness", commitStatuses[0].Context)
+ assert.Equal(t, structs.CommitStatusError, commitStatuses[1].State)
+ assert.Equal(t, "deploy/awesomeness", commitStatuses[1].Context)
+
+ count, err := git_model.CountLatestCommitStatus(db.DefaultContext, repo1.ID, sha1)
+ assert.NoError(t, err)
+ assert.EqualValues(t, 3, count)
+}