返回 DeepSeek-Reasonix
submit_route_test.go
根目录 / internal / control / submit_route_test.go
1 package control
2
3 import (
4 "testing"
5
6 "reasonix/internal/command"
7 )
8
9 func TestClassifySubmitRouteSeparatesManagementFromTurns(t *testing.T) {
10 c := newOwnedTestController(t, Options{Commands: []command.Command{{Name: "review", Body: "review: $ARGUMENTS"}}})
11 tests := []struct {
12 input string
13 want SubmitDisposition
14 }{
15 {input: "/compact", want: SubmitManagementHandled},
16 {input: "/compact keep the test plan", want: SubmitManagementHandled},
17 {input: "/new", want: SubmitManagementHandled},
18 {input: "/context", want: SubmitManagementHandled},
19 {input: "/model", want: SubmitManagementHandled},
20 {input: "/provider deepseek", want: SubmitManagementHandled},
21 {input: "/memory recall", want: SubmitManagementHandled},
22 {input: "/remember keep this", want: SubmitManagementHandled},
23 {input: "# keep this", want: SubmitManagementHandled},
24 {input: "/goal status", want: SubmitManagementHandled},
25 {input: "/goal pause", want: SubmitManagementHandled},
26 {input: "/docs", want: SubmitManagementHandled},
27 {input: "/plan-exec", want: SubmitManagementHandled},
28 {input: "/prometheus", want: SubmitManagementHandled},
29 {input: "/compactly", want: SubmitTurnStarted},
30 {input: "review the diff", want: SubmitTurnStarted},
31 {input: "/goal ship the fix", want: SubmitTurnStarted},
32 {input: "/docs explain compaction", want: SubmitTurnStarted},
33 {input: "/prometheus ship the fix", want: SubmitTurnStarted},
34 {input: "/review the diff", want: SubmitTurnStarted},
35 }
36 for _, tt := range tests {
37 t.Run(tt.input, func(t *testing.T) {
38 if got := c.ClassifySubmitRoute(tt.input); got != tt.want {
39 t.Fatalf("ClassifySubmitRoute(%q) = %q, want %q", tt.input, got, tt.want)
40 }
41 })
42 }
43 }
44
45 func TestManagementNoticeLeavesTurnOwnedCommandsUnclaimed(t *testing.T) {
46 c := newOwnedTestController(t, Options{Commands: []command.Command{{Name: "review", Body: "review: $ARGUMENTS"}}})
47 for _, input := range []string{"/unknown", "/review inspect", "/compactly"} {
48 if c.managementNotice(input) {
49 t.Fatalf("managementNotice(%q) claimed a turn-owned command", input)
50 }
51 }
52 }
53
53 lines GO