mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
fix calReleaseNumCommitsBehind (#24148)
`repoCtx.CommitsCount` is not reliably the commit count of the default branch (Repository.GetCommitsCount depends on what is currently displayed). For instance on the releases page the commit count is correct: https://codeberg.org/Codeberg/pages-server/releases  However it is not on the single page: https://codeberg.org/Codeberg/pages-server/releases/tag/v4.6.2  This PR fixes this by removing a "fast branch" which was using this field (I think this field should be removed, since it is a bit unpredictable - but this would mean a larger refactoring PR). _contributed in the context of @forgejo_ --------- Co-authored-by: Giteabot <teabot@gitea.io> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
@@ -134,7 +134,7 @@ func TestCreateReleasePaging(t *testing.T) {
|
||||
func TestViewReleaseListNoLogin(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
|
||||
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 57, OwnerName: "user2", LowerName: "repo-release"})
|
||||
|
||||
link := repo.Link() + "/releases"
|
||||
|
||||
@@ -143,18 +143,43 @@ func TestViewReleaseListNoLogin(t *testing.T) {
|
||||
|
||||
htmlDoc := NewHTMLParser(t, rsp.Body)
|
||||
releases := htmlDoc.Find("#release-list li.ui.grid")
|
||||
assert.Equal(t, 2, releases.Length())
|
||||
assert.Equal(t, 3, releases.Length())
|
||||
|
||||
links := make([]string, 0, 5)
|
||||
links := make([]string, 0, 3)
|
||||
commitsToMain := make([]string, 0, 3)
|
||||
releases.Each(func(i int, s *goquery.Selection) {
|
||||
link, exist := s.Find(".release-list-title a").Attr("href")
|
||||
if !exist {
|
||||
return
|
||||
}
|
||||
links = append(links, link)
|
||||
|
||||
commitsToMain = append(commitsToMain, s.Find(".ahead > a").Text())
|
||||
})
|
||||
|
||||
assert.EqualValues(t, []string{"/user2/repo1/releases/tag/v1.0", "/user2/repo1/releases/tag/v1.1"}, links)
|
||||
assert.EqualValues(t, []string{
|
||||
"/user2/repo-release/releases/tag/v2.0",
|
||||
"/user2/repo-release/releases/tag/v1.1",
|
||||
"/user2/repo-release/releases/tag/v1.0",
|
||||
}, links)
|
||||
assert.EqualValues(t, []string{
|
||||
"0 commits",
|
||||
"1 commits", // should be 3 commits ahead and 2 commits behind, but not implemented yet
|
||||
"3 commits",
|
||||
}, commitsToMain)
|
||||
}
|
||||
|
||||
func TestViewSingleReleaseNoLogin(t *testing.T) {
|
||||
defer tests.PrepareTestEnv(t)()
|
||||
|
||||
req := NewRequest(t, "GET", "/user2/repo-release/releases/tag/v1.0")
|
||||
resp := MakeRequest(t, req, http.StatusOK)
|
||||
|
||||
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||
// check the "number of commits to main since this release"
|
||||
releaseList := htmlDoc.doc.Find("#release-list .ahead > a")
|
||||
assert.EqualValues(t, 1, releaseList.Length())
|
||||
assert.EqualValues(t, "3 commits", releaseList.First().Text())
|
||||
}
|
||||
|
||||
func TestViewReleaseListLogin(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user