From 0f576540e383049410d2fe6dab9c9f068ade92cd Mon Sep 17 00:00:00 2001 From: Matías Insaurralde Date: Tue, 07 Apr 2026 23:23:20 +0000 Subject: [PATCH] appview/state: add test for parseSortParam Signed-off-by: Matías Insaurralde --- appview/state/search_test.go | 35 +++++++++++++++++++++++++++++++++++ 1 file(s) changed, 35 insertion(s)(+), 0 deletion(s)(-) diff --git a/appview/state/search_test.go b/appview/state/search_test.go new file mode 100644 --- /dev/null +++ b/appview/state/search_test.go @@ -0,0 +1,35 @@ +package state + +import "testing" + +func TestParseSortParam(t *testing.T) { + tests := []struct { + input string + wantField string + wantDesc bool + }{ + {"", "relevance", true}, + {"stars-desc", "stars", true}, + {"stars-asc", "stars", false}, + {"created-desc", "created", true}, + {"created-asc", "created", false}, + {"relevance-asc", "relevance", false}, + {"issues-desc", "issues", true}, + {"pulls-asc", "pulls", false}, + // invalid field → default + {"forks-desc", "relevance", true}, + {"unknown-asc", "relevance", true}, + // malformed → default + {"nodash", "relevance", true}, + {"too-many-parts-here", "relevance", true}, + {"-", "relevance", true}, + } + + for _, tt := range tests { + field, desc := parseSortParam(tt.input) + if field != tt.wantField || desc != tt.wantDesc { + t.Errorf("parseSortParam(%q) = (%q, %v), want (%q, %v)", + tt.input, field, desc, tt.wantField, tt.wantDesc) + } + } +} -- tangled.sh