fix: include sfw in browseURL generation

This commit is contained in:
2026-06-16 17:25:20 +02:00
committed by Milas Holsting
parent d8f51a74f8
commit 2f41e95864
2 changed files with 23 additions and 4 deletions

View File

@@ -58,8 +58,8 @@ func browseURL(v map[string]any, overrides map[string]any) (string, error) {
setQueryValue(values, "order_by", stringValue(v["OrderBy"]))
setQueryValue(values, "sort", stringValue(v["Sort"]))
setQueryValue(values, "studio", stringValue(v["Studio"]))
if sfw, ok := v["SFW"]; ok && !boolValue(sfw) {
values.Set("sfw", "false")
if sfw, ok := v["SFW"]; ok {
values.Set("sfw", strconv.FormatBool(boolValue(sfw)))
}
for _, genre := range intSliceValue(v["Genres"]) {
values.Add("genres", strconv.Itoa(genre))

View File

@@ -86,7 +86,7 @@ func TestBrowseURLPreservesAndOverridesParams(t *testing.T) {
t.Fatalf("browseURL error: %v", err)
}
want := "/browse?genres=1&genres=2&order_by=score&page=4&q=full+metal&sort=asc&studio=42&type=tv"
want := "/browse?genres=1&genres=2&order_by=score&page=4&q=full+metal&sfw=true&sort=asc&studio=42&type=tv"
if got != want {
t.Fatalf("unexpected url\nwant: %s\ngot: %s", want, got)
}
@@ -117,7 +117,7 @@ func TestBrowseURLClearsAndEncodesValues(t *testing.T) {
}
}
func TestBrowseURLPreservesDefaultSFWOmitted(t *testing.T) {
func TestBrowseURLWithoutSFWStateOmitsParameter(t *testing.T) {
t.Parallel()
got, err := browseURL(
@@ -135,6 +135,25 @@ func TestBrowseURLPreservesDefaultSFWOmitted(t *testing.T) {
}
}
func TestBrowseURLIncludesSFWTrue(t *testing.T) {
t.Parallel()
got, err := browseURL(
map[string]any{
"Query": "monster",
"SFW": true,
},
nil,
)
if err != nil {
t.Fatalf("browseURL error: %v", err)
}
if got != "/browse?q=monster&sfw=true" {
t.Fatalf("expected sfw=true, got %s", got)
}
}
func TestBrowseURLSFWFalse(t *testing.T) {
t.Parallel()