mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-20 20:07:03 +01:00
tests: Add a test for code expansion on PRs
This adds a new test case to `TestCompareCodeExpand` to exercise the
case where we're viewing a PR's diff.
Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
(cherry picked from commit fd9ee1901b
)
This commit is contained in:
parent
d3b4f9d326
commit
9ac51ddeb7
1 changed files with 26 additions and 0 deletions
|
@ -18,6 +18,7 @@ import (
|
|||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/gitrepo"
|
||||
"code.gitea.io/gitea/modules/optional"
|
||||
"code.gitea.io/gitea/modules/test"
|
||||
repo_service "code.gitea.io/gitea/services/repository"
|
||||
files_service "code.gitea.io/gitea/services/repository/files"
|
||||
"code.gitea.io/gitea/tests"
|
||||
|
@ -262,5 +263,30 @@ func TestCompareCodeExpand(t *testing.T) {
|
|||
assert.True(t, strings.HasPrefix(link, expectedPrefix))
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("code expander targets the repo in a PR", func(t *testing.T) {
|
||||
defer tests.PrintCurrentTest(t)()
|
||||
|
||||
// Create a pullrequest
|
||||
resp := testPullCreate(t, session, forker.Name, repo.Name+"-copy", false, "main", "code-expand", "This is a pull title")
|
||||
|
||||
// Grab the URL for the PR
|
||||
url := test.RedirectURL(resp) + "/files"
|
||||
|
||||
// Visit the PR's diff
|
||||
req := NewRequest(t, "GET", url)
|
||||
resp = session.MakeRequest(t, req, http.StatusOK)
|
||||
htmlDoc := NewHTMLParser(t, resp.Body)
|
||||
|
||||
els := htmlDoc.Find(`button.code-expander-button[hx-get]`)
|
||||
|
||||
// all the links in the comparison should be to the original repo&branch
|
||||
assert.NotZero(t, els.Length())
|
||||
expectedPrefix := fmt.Sprintf("/%s/%s/blob_excerpt/", owner.Name, repo.Name)
|
||||
for i := 0; i < els.Length(); i++ {
|
||||
link := els.Eq(i).AttrOr("hx-get", "")
|
||||
assert.True(t, strings.HasPrefix(link, expectedPrefix))
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue