Files
silo-server/internal/sections/recipes/admin_curated_list_test.go
T

47 lines
1.3 KiB
Go

package recipes
import (
"encoding/json"
"testing"
)
func TestAdminCuratedListRegistered(t *testing.T) {
rec, ok := Get("admin_curated_list")
if !ok {
t.Fatal("admin_curated_list not registered")
}
if rec.Definition().Category != CategoryHandPicked {
t.Errorf("category = %v want hand_picked", rec.Definition().Category)
}
if !rec.Definition().AdminOnly {
t.Error("admin_curated_list should be AdminOnly")
}
}
func TestAdminCuratedListRequiresItems(t *testing.T) {
rec, _ := Get("admin_curated_list")
if err := rec.Validate(json.RawMessage(`{"item_ids":[]}`)); err == nil {
t.Error("expected error for empty item_ids")
}
if err := rec.Validate(json.RawMessage(`{"item_ids":["a","b","c"]}`)); err != nil {
t.Errorf("good config rejected: %v", err)
}
if err := rec.Validate(json.RawMessage(``)); err == nil {
t.Error("expected error for empty raw")
}
if err := rec.Validate(json.RawMessage(`{}`)); err == nil {
t.Error("expected error for missing item_ids")
}
}
func TestAdminCuratedListPresetExists(t *testing.T) {
rec, _ := Get("admin_curated_list")
presets := rec.Definition().Presets
if len(presets) != 1 {
t.Fatalf("expected 1 preset, got %d", len(presets))
}
if presets[0].Key != "acl_blank" {
t.Errorf("preset key = %q want acl_blank", presets[0].Key)
}
}