From 5554165a0c5da0a62165d9c429839f4a56b01af7 Mon Sep 17 00:00:00 2001
From: Ethan Koenig <etk39@cornell.edu>
Date: Wed, 31 May 2017 10:47:42 -0400
Subject: [PATCH] Fix pull request compare link (#1832)

* Fix pull request compare link

* Integration test
---
 integrations/pull_compare_test.go | 31 +++++++++++++++++++++++++++++++
 models/fixtures/repo_unit.yml     | 10 +++++++++-
 templates/repo/home.tmpl          |  2 +-
 3 files changed, 41 insertions(+), 2 deletions(-)
 create mode 100644 integrations/pull_compare_test.go

diff --git a/integrations/pull_compare_test.go b/integrations/pull_compare_test.go
new file mode 100644
index 0000000000..567a1d13f7
--- /dev/null
+++ b/integrations/pull_compare_test.go
@@ -0,0 +1,31 @@
+// Copyright 2017 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package integrations
+
+import (
+	"net/http"
+	"testing"
+
+	"github.com/stretchr/testify/assert"
+)
+
+func TestPullCompare(t *testing.T) {
+	prepareTestEnv(t)
+
+	session := loginUser(t, "user2", "password")
+	req, err := http.NewRequest("GET", "/user2/repo1/pulls", nil)
+	assert.NoError(t, err)
+	resp := session.MakeRequest(t, req)
+	assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
+	htmlDoc, err := NewHtmlParser(resp.Body)
+	assert.NoError(t, err)
+	link, exists := htmlDoc.doc.Find(".navbar").Find(".ui.green.button").Attr("href")
+	assert.True(t, exists, "The template has changed")
+
+	req, err = http.NewRequest("GET", link, nil)
+	assert.NoError(t, err)
+	resp = session.MakeRequest(t, req)
+	assert.EqualValues(t, http.StatusOK, resp.HeaderCode)
+}
diff --git a/models/fixtures/repo_unit.yml b/models/fixtures/repo_unit.yml
index 443dfff7b7..fafd79471a 100644
--- a/models/fixtures/repo_unit.yml
+++ b/models/fixtures/repo_unit.yml
@@ -17,7 +17,15 @@
 -
   id: 3
   repo_id: 1
+  type: 3
+  index: 0
+  config: "{}"
+  created_unix: 946684810
+
+-
+  id: 4
+  repo_id: 1
   type: 7
   index: 0
   config: "{}"
-  created_unix: 946684810
\ No newline at end of file
+  created_unix: 946684810
diff --git a/templates/repo/home.tmpl b/templates/repo/home.tmpl
index 9c0ba7be88..96109761ec 100644
--- a/templates/repo/home.tmpl
+++ b/templates/repo/home.tmpl
@@ -10,7 +10,7 @@
 		<div class="ui secondary menu">
 			{{if .PullRequestCtx.Allowed}}
 				<div class="fitted item">
-					<a href="{{.BaseRepo.Link}}/compare/{{.BaseRepo.DefaultBranch}}...{{.Username}}:{{.BranchName}}">
+					<a href="{{.BaseRepo.Link}}/compare/{{.BaseRepo.DefaultBranch}}...{{.SignedUser.Name}}:{{.BranchName}}">
 						<button class="ui green small button"><i class="octicon octicon-git-compare"></i></button>
 					</a>
 				</div>