Skip to content

Commit 6686626

Browse files
committed
Revert change in commit list table about User ID and adding some tests
1 parent 2cc3368 commit 6686626

File tree

3 files changed

+65
-7
lines changed

3 files changed

+65
-7
lines changed

models/user/user.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,12 +1166,6 @@ func ValidateCommitsWithEmails(ctx context.Context, oldCommits []*git.Commit) ([
11661166

11671167
for _, c := range oldCommits {
11681168
user := emailUserMap.GetByEmail(c.Author.Email) // FIXME: why ValidateCommitsWithEmails uses "Author", but ParseCommitsWithSignature uses "Committer"?
1169-
if user == nil {
1170-
user = &User{
1171-
Name: c.Author.Name,
1172-
Email: c.Author.Email,
1173-
}
1174-
}
11751169
newCommits = append(newCommits, &UserCommit{
11761170
User: user,
11771171
Commit: c,

templates/repo/commits_list.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<td class="author">
1717
<div class="tw-flex">
1818
{{$userName := .Author.Name}}
19-
{{if and .User (gt .User.ID 0)}} /* User with id == 0 is a fake user from git author */
19+
{{if .User}}
2020
{{if and .User.FullName DefaultShowFullName}}
2121
{{$userName = .User.FullName}}
2222
{{end}}

tests/integration/repo_commits_test.go

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,70 @@ func Test_ReposGitCommitListNotMaster(t *testing.T) {
5757
userHrefs = append(userHrefs, userHref)
5858
})
5959
assert.Equal(t, []string{"/user2", "/user21", "/user2"}, userHrefs)
60+
61+
// check last commit author wrapper
62+
req = NewRequest(t, "GET", "/user2/repo16")
63+
resp = session.MakeRequest(t, req, http.StatusOK)
64+
65+
doc = NewHTMLParser(t, resp.Body)
66+
commits = []string{}
67+
doc.doc.Find(".latest-commit .commit-id-short").Each(func(i int, s *goquery.Selection) {
68+
commitURL, _ := s.Attr("href")
69+
commits = append(commits, path.Base(commitURL))
70+
})
71+
assert.Equal(t, []string{"69554a64c1e6030f051e5c3f94bfbd773cd6a324"}, commits)
72+
73+
userHrefs = []string{}
74+
doc.doc.Find(".latest-commit .author-wrapper").Each(func(i int, s *goquery.Selection) {
75+
userHref, _ := s.Attr("href")
76+
userHrefs = append(userHrefs, userHref)
77+
})
78+
assert.Equal(t, []string{"/user2"}, userHrefs)
79+
}
80+
81+
func Test_ReposGitCommitListNoGiteaUser(t *testing.T) {
82+
// Commits list with Gitea User has been tested in Test_ReposGitCommitListNotMaster
83+
defer tests.PrepareTestEnv(t)()
84+
session := loginUser(t, "user2")
85+
86+
// check commits list for a repository with no gitea user
87+
req := NewRequest(t, "GET", "/user2/repo1/commits/branch/master")
88+
resp := session.MakeRequest(t, req, http.StatusOK)
89+
90+
doc := NewHTMLParser(t, resp.Body)
91+
var commits []string
92+
doc.doc.Find("#commits-table .commit-id-short").Each(func(i int, s *goquery.Selection) {
93+
commitURL, _ := s.Attr("href")
94+
commits = append(commits, path.Base(commitURL))
95+
})
96+
assert.Equal(t, []string{"65f1bf27bc3bf70f64657658635e66094edbcb4d"}, commits)
97+
98+
var gitUsers []string
99+
doc.doc.Find("#commits-table .author-wrapper").Each(func(i int, s *goquery.Selection) {
100+
assert.Equal(t, "span", goquery.NodeName(s))
101+
gitUser := s.Text()
102+
gitUsers = append(gitUsers, gitUser)
103+
})
104+
assert.Equal(t, []string{"user1"}, gitUsers)
105+
106+
// check last commit author wrapper
107+
req = NewRequest(t, "GET", "/user2/repo1")
108+
resp = session.MakeRequest(t, req, http.StatusOK)
109+
110+
doc = NewHTMLParser(t, resp.Body)
111+
commits = []string{}
112+
doc.doc.Find(".latest-commit .commit-id-short").Each(func(i int, s *goquery.Selection) {
113+
commitURL, _ := s.Attr("href")
114+
commits = append(commits, path.Base(commitURL))
115+
})
116+
assert.Equal(t, []string{"65f1bf27bc3bf70f64657658635e66094edbcb4d"}, commits)
117+
118+
gitUsers = []string{}
119+
doc.doc.Find(".latest-commit .author-wrapper").Each(func(i int, s *goquery.Selection) {
120+
assert.Equal(t, "span", goquery.NodeName(s))
121+
gitUsers = append(gitUsers, s.Text())
122+
})
123+
assert.Equal(t, []string{"user1"}, gitUsers)
60124
}
61125

62126
func doTestRepoCommitWithStatus(t *testing.T, state string, classes ...string) {

0 commit comments

Comments
 (0)