diff options
author | Bwko <bouwko@gmail.com> | 2017-10-26 02:49:16 +0200 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2017-10-26 08:49:16 +0800 |
commit | 3ab580c8d6b8a2c063d848f8e3002347c9e5cebb (patch) | |
tree | 3f66f793be25db1ca8baac8d5333e39bfdd4f7e1 /integrations/branches_test.go | |
parent | e86a0bf3feab82c1b3439806245083dffb2f37c9 (diff) | |
download | gitea-3ab580c8d6b8a2c063d848f8e3002347c9e5cebb.tar.gz gitea-3ab580c8d6b8a2c063d848f8e3002347c9e5cebb.zip |
Add branch overiew page (#2108)
* Add branch overiew page
* fix changed method name on sub menu
* remove unused code
Diffstat (limited to 'integrations/branches_test.go')
-rw-r--r-- | integrations/branches_test.go | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/integrations/branches_test.go b/integrations/branches_test.go new file mode 100644 index 0000000000..7fb57242d9 --- /dev/null +++ b/integrations/branches_test.go @@ -0,0 +1,79 @@ +// 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" + "net/url" + "testing" + + "github.com/PuerkitoBio/goquery" + "github.com/Unknwon/i18n" + "github.com/stretchr/testify/assert" +) + +func TestViewBranches(t *testing.T) { + prepareTestEnv(t) + + req := NewRequest(t, "GET", "/user2/repo1/branches") + resp := MakeRequest(t, req, http.StatusOK) + + htmlDoc := NewHTMLParser(t, resp.Body) + _, exists := htmlDoc.doc.Find(".delete-branch-button").Attr("data-url") + assert.False(t, exists, "The template has changed") +} + +func TestDeleteBranch(t *testing.T) { + prepareTestEnv(t) + + deleteBranch(t) +} + +func TestUndoDeleteBranch(t *testing.T) { + prepareTestEnv(t) + + deleteBranch(t) + htmlDoc, name := branchAction(t, ".undo-button") + assert.Contains(t, + htmlDoc.doc.Find(".ui.positive.message").Text(), + i18n.Tr("en", "repo.branch.restore_success", name), + ) +} + +func deleteBranch(t *testing.T) { + htmlDoc, name := branchAction(t, ".delete-branch-button") + assert.Contains(t, + htmlDoc.doc.Find(".ui.positive.message").Text(), + i18n.Tr("en", "repo.branch.deletion_success", name), + ) +} + +func branchAction(t *testing.T, button string) (*HTMLDoc, string) { + session := loginUser(t, "user2") + req := NewRequest(t, "GET", "/user2/repo1/branches") + resp := session.MakeRequest(t, req, http.StatusOK) + + htmlDoc := NewHTMLParser(t, resp.Body) + link, exists := htmlDoc.doc.Find(button).Attr("data-url") + assert.True(t, exists, "The template has changed") + + htmlDoc = NewHTMLParser(t, resp.Body) + req = NewRequestWithValues(t, "POST", link, map[string]string{ + "_csrf": getCsrf(htmlDoc.doc), + }) + resp = session.MakeRequest(t, req, http.StatusOK) + + url, err := url.Parse(link) + assert.NoError(t, err) + req = NewRequest(t, "GET", "/user2/repo1/branches") + resp = session.MakeRequest(t, req, http.StatusOK) + + return NewHTMLParser(t, resp.Body), url.Query()["name"][0] +} + +func getCsrf(doc *goquery.Document) string { + csrf, _ := doc.Find("meta[name=\"_csrf\"]").Attr("content") + return csrf +} |