loading up the forgejo repo on tangled to test page performance
at forgejo 54 lines 1.5 kB view raw
1// Copyright 2025 The Forgejo Authors. All rights reserved. 2// SPDX-License-Identifier: GPL-3.0-or-later 3 4package integration 5 6import ( 7 "net/http" 8 "net/url" 9 "testing" 10 11 auth_model "forgejo.org/models/auth" 12 api "forgejo.org/modules/structs" 13 "forgejo.org/tests" 14) 15 16func TestPullEditable_ShowEditableLabel(t *testing.T) { 17 onGiteaRun(t, func(t *testing.T, forgejoURL *url.URL) { 18 t.Run("Show editable label if PR is editable", func(t *testing.T) { 19 defer tests.PrintCurrentTest(t)() 20 editable := true 21 22 setPREditable(t, editable) 23 testEditableLabelShown(t, editable) 24 }) 25 26 t.Run("Don't show editable label if PR is not editable", func(t *testing.T) { 27 defer tests.PrintCurrentTest(t)() 28 editable := false 29 30 setPREditable(t, editable) 31 testEditableLabelShown(t, editable) 32 }) 33 }) 34} 35 36func setPREditable(t *testing.T, editable bool) { 37 t.Helper() 38 session := loginUser(t, "user1") 39 token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository) 40 41 req := NewRequestWithJSON(t, "PATCH", "/api/v1/repos/user2/repo1/pulls/3", &api.EditPullRequestOption{ 42 AllowMaintainerEdit: &editable, 43 }).AddTokenAuth(token) 44 session.MakeRequest(t, req, http.StatusCreated) 45} 46 47func testEditableLabelShown(t *testing.T, expectLabel bool) { 48 t.Helper() 49 session := loginUser(t, "user2") 50 req := NewRequest(t, "GET", "/user2/repo1/pulls/3") 51 resp := session.MakeRequest(t, req, http.StatusOK) 52 htmlDoc := NewHTMLParser(t, resp.Body) 53 htmlDoc.AssertElement(t, "#editable-label", expectLabel) 54}