Merge pull request '[BUG] Remember topic only in repo search' (#2489) from gusted/forgejo-topic-explore into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2489
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
This commit is contained in:
Earl Warren 2024-02-26 22:40:34 +00:00
commit d9ae3717b5
2 changed files with 14 additions and 0 deletions

View File

@ -2,6 +2,7 @@
<form class="ui form ignore-dirty gt-f1"> <form class="ui form ignore-dirty gt-f1">
<input type="hidden" name="sort" value="{{$.SortType}}"> <input type="hidden" name="sort" value="{{$.SortType}}">
<input type="hidden" name="language" value="{{$.Language}}"> <input type="hidden" name="language" value="{{$.Language}}">
<input type="hidden" name="topic" value="{{$.TopicOnly}}">
<div class="ui fluid action input"> <div class="ui fluid action input">
{{template "shared/searchinput" dict "Value" .Keyword}} {{template "shared/searchinput" dict "Value" .Keyword}}
{{if .PageIsExploreRepositories}} {{if .PageIsExploreRepositories}}

View File

@ -8,6 +8,7 @@ import (
"testing" "testing"
"code.gitea.io/gitea/tests" "code.gitea.io/gitea/tests"
"github.com/stretchr/testify/assert"
) )
func TestExploreRepos(t *testing.T) { func TestExploreRepos(t *testing.T) {
@ -15,4 +16,16 @@ func TestExploreRepos(t *testing.T) {
req := NewRequest(t, "GET", "/explore/repos") req := NewRequest(t, "GET", "/explore/repos")
MakeRequest(t, req, http.StatusOK) MakeRequest(t, req, http.StatusOK)
t.Run("Persistent parameters", func(t *testing.T) {
defer tests.PrintCurrentTest(t)()
req := NewRequest(t, "GET", "/explore/repos?topic=1&language=Go&sort=moststars")
resp := MakeRequest(t, req, http.StatusOK)
htmlDoc := NewHTMLParser(t, resp.Body)
assert.EqualValues(t, "moststars", htmlDoc.Find("input[type='hidden'][name='sort']").AttrOr("value", "not found"))
assert.EqualValues(t, "Go", htmlDoc.Find("input[type='hidden'][name='language']").AttrOr("value", "not found"))
assert.EqualValues(t, "true", htmlDoc.Find("input[type='hidden'][name='topic']").AttrOr("value", "not found"))
})
} }