summaryrefslogtreecommitdiff
path: root/internal/hexaiaction/run_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/hexaiaction/run_test.go')
-rw-r--r--internal/hexaiaction/run_test.go70
1 files changed, 35 insertions, 35 deletions
diff --git a/internal/hexaiaction/run_test.go b/internal/hexaiaction/run_test.go
index 87fbfa8..e28bceb 100644
--- a/internal/hexaiaction/run_test.go
+++ b/internal/hexaiaction/run_test.go
@@ -1,51 +1,51 @@
package hexaiaction
import (
- "context"
- "strings"
- "testing"
+ "context"
+ "strings"
+ "testing"
- "codeberg.org/snonux/hexai/internal/appconfig"
- "codeberg.org/snonux/hexai/internal/llm"
+ "codeberg.org/snonux/hexai/internal/appconfig"
+ "codeberg.org/snonux/hexai/internal/llm"
)
type fakeDoer struct{ out string }
func (f fakeDoer) Chat(_ context.Context, _ []llm.Message, _ ...llm.RequestOption) (string, error) {
- return f.out, nil
+ return f.out, nil
}
+func (f fakeDoer) DefaultModel() string { return "m" }
func TestExecuteAction_Skip(t *testing.T) {
- cfg := appconfig.App{}
- parts := InputParts{Selection: "data"}
- out, err := executeAction(context.Background(), ActionSkip, parts, cfg, fakeDoer{"IGN"}, nil)
- if err != nil || out != "data" {
- t.Fatalf("skip failed: %q %v", out, err)
- }
+ cfg := appconfig.App{}
+ parts := InputParts{Selection: "data"}
+ out, err := executeAction(context.Background(), ActionSkip, parts, cfg, fakeDoer{"IGN"}, nil)
+ if err != nil || out != "data" {
+ t.Fatalf("skip failed: %q %v", out, err)
+ }
}
func TestExecuteAction_Rewrite_Document_GoTest(t *testing.T) {
- cfg := appconfig.Load(nil) // defaults
- // Use fenced output to exercise StripFences
- client := fakeDoer{"```\nDONE\n```"}
-
- // rewrite with inline instruction
- sel := ";change;\ncode"
- out, err := executeAction(context.Background(), ActionRewrite, InputParts{Selection: sel}, cfg, client, nil)
- if err != nil || strings.TrimSpace(out) != "DONE" {
- t.Fatalf("rewrite failed: %q %v", out, err)
- }
-
- // document
- out, err = executeAction(context.Background(), ActionDocument, InputParts{Selection: "code"}, cfg, client, nil)
- if err != nil || strings.TrimSpace(out) != "DONE" {
- t.Fatalf("document failed: %q %v", out, err)
- }
-
- // go test
- out, err = executeAction(context.Background(), ActionGoTest, InputParts{Selection: "func A(){}"}, cfg, client, nil)
- if err != nil || strings.TrimSpace(out) != "DONE" {
- t.Fatalf("gotest failed: %q %v", out, err)
- }
+ cfg := appconfig.Load(nil) // defaults
+ // Use fenced output to exercise StripFences
+ client := fakeDoer{"```\nDONE\n```"}
+
+ // rewrite with inline instruction
+ sel := ";change;\ncode"
+ out, err := executeAction(context.Background(), ActionRewrite, InputParts{Selection: sel}, cfg, client, nil)
+ if err != nil || strings.TrimSpace(out) != "DONE" {
+ t.Fatalf("rewrite failed: %q %v", out, err)
+ }
+
+ // document
+ out, err = executeAction(context.Background(), ActionDocument, InputParts{Selection: "code"}, cfg, client, nil)
+ if err != nil || strings.TrimSpace(out) != "DONE" {
+ t.Fatalf("document failed: %q %v", out, err)
+ }
+
+ // go test
+ out, err = executeAction(context.Background(), ActionGoTest, InputParts{Selection: "func A(){}"}, cfg, client, nil)
+ if err != nil || strings.TrimSpace(out) != "DONE" {
+ t.Fatalf("gotest failed: %q %v", out, err)
+ }
}
-