0
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-07-20 23:28:28 +02:00

Revert change in commit list table about User ID and adding some tests

This commit is contained in:
Lunny Xiao 2025-07-08 18:49:24 -07:00
parent 2cc3368610
commit 66866260a5
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
3 changed files with 65 additions and 7 deletions

View File

@ -1166,12 +1166,6 @@ func ValidateCommitsWithEmails(ctx context.Context, oldCommits []*git.Commit) ([
for _, c := range oldCommits {
user := emailUserMap.GetByEmail(c.Author.Email) // FIXME: why ValidateCommitsWithEmails uses "Author", but ParseCommitsWithSignature uses "Committer"?
if user == nil {
user = &User{
Name: c.Author.Name,
Email: c.Author.Email,
}
}
newCommits = append(newCommits, &UserCommit{
User: user,
Commit: c,

View File

@ -16,7 +16,7 @@
<td class="author">
<div class="tw-flex">
{{$userName := .Author.Name}}
{{if and .User (gt .User.ID 0)}} /* User with id == 0 is a fake user from git author */
{{if .User}}
{{if and .User.FullName DefaultShowFullName}}
{{$userName = .User.FullName}}
{{end}}

View File

@ -57,6 +57,70 @@ func Test_ReposGitCommitListNotMaster(t *testing.T) {
userHrefs = append(userHrefs, userHref)
})
assert.Equal(t, []string{"/user2", "/user21", "/user2"}, userHrefs)
// check last commit author wrapper
req = NewRequest(t, "GET", "/user2/repo16")
resp = session.MakeRequest(t, req, http.StatusOK)
doc = NewHTMLParser(t, resp.Body)
commits = []string{}
doc.doc.Find(".latest-commit .commit-id-short").Each(func(i int, s *goquery.Selection) {
commitURL, _ := s.Attr("href")
commits = append(commits, path.Base(commitURL))
})
assert.Equal(t, []string{"69554a64c1e6030f051e5c3f94bfbd773cd6a324"}, commits)
userHrefs = []string{}
doc.doc.Find(".latest-commit .author-wrapper").Each(func(i int, s *goquery.Selection) {
userHref, _ := s.Attr("href")
userHrefs = append(userHrefs, userHref)
})
assert.Equal(t, []string{"/user2"}, userHrefs)
}
func Test_ReposGitCommitListNoGiteaUser(t *testing.T) {
// Commits list with Gitea User has been tested in Test_ReposGitCommitListNotMaster
defer tests.PrepareTestEnv(t)()
session := loginUser(t, "user2")
// check commits list for a repository with no gitea user
req := NewRequest(t, "GET", "/user2/repo1/commits/branch/master")
resp := session.MakeRequest(t, req, http.StatusOK)
doc := NewHTMLParser(t, resp.Body)
var commits []string
doc.doc.Find("#commits-table .commit-id-short").Each(func(i int, s *goquery.Selection) {
commitURL, _ := s.Attr("href")
commits = append(commits, path.Base(commitURL))
})
assert.Equal(t, []string{"65f1bf27bc3bf70f64657658635e66094edbcb4d"}, commits)
var gitUsers []string
doc.doc.Find("#commits-table .author-wrapper").Each(func(i int, s *goquery.Selection) {
assert.Equal(t, "span", goquery.NodeName(s))
gitUser := s.Text()
gitUsers = append(gitUsers, gitUser)
})
assert.Equal(t, []string{"user1"}, gitUsers)
// check last commit author wrapper
req = NewRequest(t, "GET", "/user2/repo1")
resp = session.MakeRequest(t, req, http.StatusOK)
doc = NewHTMLParser(t, resp.Body)
commits = []string{}
doc.doc.Find(".latest-commit .commit-id-short").Each(func(i int, s *goquery.Selection) {
commitURL, _ := s.Attr("href")
commits = append(commits, path.Base(commitURL))
})
assert.Equal(t, []string{"65f1bf27bc3bf70f64657658635e66094edbcb4d"}, commits)
gitUsers = []string{}
doc.doc.Find(".latest-commit .author-wrapper").Each(func(i int, s *goquery.Selection) {
assert.Equal(t, "span", goquery.NodeName(s))
gitUsers = append(gitUsers, s.Text())
})
assert.Equal(t, []string{"user1"}, gitUsers)
}
func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {