mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 04:14:01 +01:00 
			
		
		
		
	Revert change in commit list table about User ID and adding some tests
This commit is contained in:
		
							parent
							
								
									2cc3368610
								
							
						
					
					
						commit
						66866260a5
					
				@ -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,
 | 
			
		||||
 | 
			
		||||
@ -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}}
 | 
			
		||||
 | 
			
		||||
@ -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) {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user