package service import ( "testing" ) func TestResolveDefaultTierID(t *testing.T) { t.Parallel() tests := []struct { name string loadRaw map[string]any want string }{ { name: "nil loadRaw", loadRaw: nil, want: "", }, { name: "missing allowedTiers", loadRaw: map[string]any{ "paidTier": map[string]any{"id": "g1-pro-tier"}, }, want: "", }, { name: "empty allowedTiers", loadRaw: map[string]any{"allowedTiers": []any{}}, want: "", }, { name: "tier missing id field", loadRaw: map[string]any{ "allowedTiers": []any{ map[string]any{"isDefault": true}, }, }, want: "", }, { name: "allowedTiers but no default", loadRaw: map[string]any{ "allowedTiers": []any{ map[string]any{"id": "free-tier", "isDefault": false}, map[string]any{"id": "standard-tier", "isDefault": false}, }, }, want: "", }, { name: "default tier found", loadRaw: map[string]any{ "allowedTiers": []any{ map[string]any{"id": "free-tier", "isDefault": true}, map[string]any{"id": "standard-tier", "isDefault": false}, }, }, want: "free-tier", }, { name: "default tier id with spaces", loadRaw: map[string]any{ "allowedTiers": []any{ map[string]any{"id": " standard-tier ", "isDefault": true}, }, }, want: "standard-tier", }, } for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { t.Parallel() got := resolveDefaultTierID(tc.loadRaw) if got != tc.want { t.Fatalf("resolveDefaultTierID() = %q, want %q", got, tc.want) } }) } }