From 516fd29da423432ef6dfded21a984f1d15dcab1a Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Mon, 5 Oct 2026 17:31:50 -0400 Subject: fix: slop casino and economy fixes --- internal/validate/correct_audit_fixes_test.go | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 internal/validate/correct_audit_fixes_test.go (limited to 'internal/validate/correct_audit_fixes_test.go') diff --git a/internal/validate/correct_audit_fixes_test.go b/internal/validate/correct_audit_fixes_test.go new file mode 100644 index 0000000..8ed6f52 --- /dev/null +++ b/internal/validate/correct_audit_fixes_test.go @@ -0,0 +1,33 @@ +package validate + +import ( + "strings" + "testing" + + "thehouseoficarus/internal/behavior" +) + +// Regression: a talk config with nodes but no "start" node is dead content at +// runtime; validation must report it. +func TestValidateTalkConfigRequiresStartNode(t *testing.T) { + cfg := &behavior.TalkConfig{Nodes: map[string]behavior.TalkNode{ + "greet": {Messages: []string{"hi"}}, + }} + issues := validateTalkConfig("test", cfg, nil, nil, nil, nil) + found := false + for _, iss := range issues { + if strings.Contains(iss.Message, "start") { + found = true + } + } + if !found { + t.Fatalf("missing start node not reported: %+v", issues) + } + + clean := &behavior.TalkConfig{Nodes: map[string]behavior.TalkNode{"start": {}}} + for _, iss := range validateTalkConfig("test", clean, nil, nil, nil, nil) { + if strings.Contains(iss.Message, "start") { + t.Fatalf("start node wrongly reported: %+v", iss) + } + } +} -- cgit v1.2.3