summaryrefslogtreecommitdiff
path: root/internal/hexaiaction/custom_exec_test.go
blob: 1a5b99ec166cf4e72e40d5235cb5ef4bd26d7844 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package hexaiaction

import (
	"context"
	"strings"
	"testing"

	"codeberg.org/snonux/hexai/internal/appconfig"
)

func TestExecuteAction_CustomConfigured_Instruction(t *testing.T) {
	cfg := appconfig.Load(nil)
	parts := InputParts{Selection: "code"}
	selectedCustom := &appconfig.CustomAction{ID: "x", Title: "X", Instruction: "Do it"}
	out, err := executeAction(context.Background(), ActionCustom, parts, &cfg, fakeDoer{"OK"}, nil, selectedCustom)
	if err != nil || strings.TrimSpace(out) != "OK" {
		t.Fatalf("custom-instruction failed: %q %v", out, err)
	}
}

func TestExecuteAction_CustomConfigured_User(t *testing.T) {
	cfg := appconfig.Load(nil)
	parts := InputParts{Selection: "sel"}
	selectedCustom := &appconfig.CustomAction{ID: "y", Title: "Y", User: "Apply to: {{selection}}"}
	out, err := executeAction(context.Background(), ActionCustom, parts, &cfg, fakeDoer{"OK2"}, nil, selectedCustom)
	if err != nil || strings.TrimSpace(out) != "OK2" {
		t.Fatalf("custom-user failed: %q %v", out, err)
	}
}