Bugfixes and improved alignment with architecture blueprint
This commit is contained in:
@@ -2,6 +2,7 @@ package prompt
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"gitea.maximumdirect.net/eric/scriptorium/internal/domain"
|
||||
@@ -47,7 +48,7 @@ func TestGoRenderer_Render(t *testing.T) {
|
||||
t.Run("missing required input", func(t *testing.T) {
|
||||
emptyInputs := map[string]*domain.Artifact{}
|
||||
_, err := renderer.Render(ctx, profile, emptyInputs, vars)
|
||||
if err == nil || (err != ErrMissingRequiredInput && err.Error() != "missing required input artifact: transcript") {
|
||||
if !errors.Is(err, ErrMissingRequiredInput) {
|
||||
t.Errorf("expected ErrMissingRequiredInput, got %v", err)
|
||||
}
|
||||
})
|
||||
@@ -59,8 +60,11 @@ func TestGoRenderer_Render(t *testing.T) {
|
||||
},
|
||||
}
|
||||
_, err := renderer.Render(ctx, profileUnknown, inputs, vars)
|
||||
if err == nil {
|
||||
t.Error("expected error for unknown input")
|
||||
if !errors.Is(err, ErrRenderFailure) {
|
||||
t.Errorf("expected ErrRenderFailure, got %v", err)
|
||||
}
|
||||
if !errors.Is(err, ErrUnknownInput) {
|
||||
t.Errorf("expected ErrUnknownInput, got %v", err)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -71,8 +75,8 @@ func TestGoRenderer_Render(t *testing.T) {
|
||||
},
|
||||
}
|
||||
_, err := renderer.Render(ctx, profileInvalid, inputs, vars)
|
||||
if err == nil {
|
||||
t.Error("expected error for invalid template syntax")
|
||||
if !errors.Is(err, ErrInvalidTemplate) {
|
||||
t.Errorf("expected ErrInvalidTemplate, got %v", err)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -83,8 +87,20 @@ func TestGoRenderer_Render(t *testing.T) {
|
||||
},
|
||||
}
|
||||
_, err := renderer.Render(ctx, profileNoRole, inputs, vars)
|
||||
if err == nil {
|
||||
t.Error("expected error for empty message role")
|
||||
if !errors.Is(err, ErrInvalidMessageRole) {
|
||||
t.Errorf("expected ErrInvalidMessageRole, got %v", err)
|
||||
}
|
||||
})
|
||||
|
||||
t.Run("missing variable in template", func(t *testing.T) {
|
||||
profileMissingVar := &domain.PromptProfile{
|
||||
Templates: []domain.PromptMessageTemplate{
|
||||
{Role: "system", Content: "You are {{.missing}}"},
|
||||
},
|
||||
}
|
||||
_, err := renderer.Render(ctx, profileMissingVar, inputs, vars)
|
||||
if !errors.Is(err, ErrRenderFailure) {
|
||||
t.Errorf("expected ErrRenderFailure for missing variable, got %v", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user