* feat: advanced trail categories * rename remote_category * fix merge issues * subcategories for plugins mapping * fix refresh * remove vertical trail filter category scrolling * cleanup * add confirm modal for disabling a category * Fix federation issues * fix review findings * redesign category settings page * remove prio badge * fix subcategory badge layout * optimize subcategory settings layout * further settings page layout optimization * fix subcategory icon position * fix * update docs --------- Co-authored-by: Christian Beutel <>
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package routes
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"pocketbase/plugins/importer"
|
|
)
|
|
|
|
func TestCategoryMappingPreservesExplicitEmptyMap(t *testing.T) {
|
|
mapping := categoryMapping(map[string]any{
|
|
"categoryMapping": map[string]any{},
|
|
})
|
|
if mapping == nil {
|
|
t.Fatal("expected explicit empty category mapping to be preserved")
|
|
}
|
|
if len(mapping) != 0 {
|
|
t.Fatalf("expected empty category mapping, got %#v", mapping)
|
|
}
|
|
}
|
|
|
|
func TestCategoryMappingNilWhenMissing(t *testing.T) {
|
|
if mapping := categoryMapping(map[string]any{}); mapping != nil {
|
|
t.Fatalf("expected missing category mapping to be nil, got %#v", mapping)
|
|
}
|
|
}
|
|
|
|
func TestCategoryMappingPreservesBlankProviderMapping(t *testing.T) {
|
|
mapping := categoryMapping(map[string]any{
|
|
"categoryMapping": map[string]any{
|
|
"Ride": "",
|
|
},
|
|
})
|
|
if mapping == nil {
|
|
t.Fatal("expected category mapping")
|
|
}
|
|
if value, ok := mapping["Ride"]; !ok || value != (importer.CategoryMappingValue{}) {
|
|
t.Fatalf("expected blank provider mapping to be preserved, got %#v", mapping)
|
|
}
|
|
}
|
|
|
|
func TestCategoryMappingParsesStructuredTarget(t *testing.T) {
|
|
mapping := categoryMapping(map[string]any{
|
|
"categoryMapping": map[string]any{
|
|
"TrailRun": map[string]any{
|
|
"category": "Running",
|
|
"subcategory": "Trail",
|
|
},
|
|
},
|
|
})
|
|
want := importer.CategoryMappingValue{Category: "Running", Subcategory: "Trail"}
|
|
if value, ok := mapping["TrailRun"]; !ok || value != want {
|
|
t.Fatalf("structured provider mapping = %#v, want %#v", mapping, want)
|
|
}
|
|
}
|