11
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
package cc
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"superwork-tui/internal/config"
|
||||
)
|
||||
|
||||
func TestBrainstormPrompt_SubstitutesVars(t *testing.T) {
|
||||
s := config.DefaultSettings()
|
||||
out := BrainstormPrompt(s, struct{ UserRequest, Nonce string }{"add dark mode", "deadbeef"})
|
||||
if !strings.Contains(out, "add dark mode") {
|
||||
t.Error("output should contain userRequest")
|
||||
}
|
||||
if !strings.Contains(out, "deadbeef") {
|
||||
t.Error("output should contain nonce")
|
||||
}
|
||||
if strings.Contains(out, "{userRequest}") {
|
||||
t.Error("placeholder {userRequest} should be replaced")
|
||||
}
|
||||
if strings.Contains(out, "{nonce}") {
|
||||
t.Error("placeholder {nonce} should be replaced")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBrainstormPrompt_SettingsOverride(t *testing.T) {
|
||||
s := config.DefaultSettings()
|
||||
s.BrainstormPrompt = "custom {userRequest}"
|
||||
out := BrainstormPrompt(s, struct{ UserRequest, Nonce string }{"fix login", "xx"})
|
||||
if out != "custom fix login" {
|
||||
t.Errorf("expected 'custom fix login', got %q", out)
|
||||
}
|
||||
}
|
||||
|
||||
func TestBrainstormPrompt_DefaultFallback(t *testing.T) {
|
||||
s := config.DefaultSettings()
|
||||
out := BrainstormPrompt(s, struct{ UserRequest, Nonce string }{"req", "n"})
|
||||
if out == "" {
|
||||
t.Error("expected non-empty output from embedded default")
|
||||
}
|
||||
}
|
||||
|
||||
func TestBrainstormContinuePrompt_SubstitutesVars(t *testing.T) {
|
||||
s := config.DefaultSettings()
|
||||
out := BrainstormContinuePrompt(s, struct{ IssueNumber string }{"42"})
|
||||
if !strings.Contains(out, "42") {
|
||||
t.Error("output should contain issue number")
|
||||
}
|
||||
if strings.Contains(out, "{issueNumber}") {
|
||||
t.Error("placeholder {issueNumber} should be replaced")
|
||||
}
|
||||
}
|
||||
|
||||
func TestImplementPlanPrompt_SubstitutesVars(t *testing.T) {
|
||||
s := config.DefaultSettings()
|
||||
out := ImplementPlanPrompt(s, struct{ PlanFile, IssueNumber string }{"docs/plan.md", "7"})
|
||||
if !strings.Contains(out, "docs/plan.md") {
|
||||
t.Error("output should contain planFile")
|
||||
}
|
||||
if !strings.Contains(out, "7") {
|
||||
t.Error("output should contain issueNumber")
|
||||
}
|
||||
}
|
||||
|
||||
func TestReviewPrompt_SubstitutesVars(t *testing.T) {
|
||||
s := config.DefaultSettings()
|
||||
out := ReviewPrompt(s, struct{ PrNumber string }{"13"})
|
||||
if !strings.Contains(out, "13") {
|
||||
t.Error("output should contain prNumber")
|
||||
}
|
||||
if strings.Contains(out, "{prNumber}") {
|
||||
t.Error("placeholder {prNumber} should be replaced")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user