diff options
| author | historia <[not public]> | 2026-10-05 17:31:50 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-10-05 17:31:50 -0400 |
| commit | 516fd29da423432ef6dfded21a984f1d15dcab1a (patch) | |
| tree | eb2dabe325a1335dedac28a93453df643ef986f2 /internal/validate/correct_audit_fixes_test.go | |
| parent | e42952469dadfb3535633c66c881050ac128703c (diff) | |
| download | thehouseoficarus-516fd29da423432ef6dfded21a984f1d15dcab1a.tar.gz | |
fix: slop casino and economy fixes
Diffstat (limited to 'internal/validate/correct_audit_fixes_test.go')
| -rw-r--r-- | internal/validate/correct_audit_fixes_test.go | 33 |
1 files changed, 33 insertions, 0 deletions
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) + } + } +} |
