Add D&D spells prompt assets
This commit is contained in:
@@ -6,26 +6,38 @@ import (
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestLookupMetadataSucceedsForGenericPrompt(t *testing.T) {
|
||||
metadata, ok := LookupMetadata(TestGenericPromptID)
|
||||
if !ok {
|
||||
t.Fatalf("expected metadata for %q", TestGenericPromptID)
|
||||
func TestLookupMetadataSucceedsForRegisteredPrompts(t *testing.T) {
|
||||
tests := []struct {
|
||||
promptID string
|
||||
embeddedPath string
|
||||
}{
|
||||
{promptID: DNDSpellsPromptID, embeddedPath: "assets/dnd/spells"},
|
||||
{promptID: TestGenericPromptID, embeddedPath: "assets/test/generic"},
|
||||
}
|
||||
|
||||
if metadata.PromptID != TestGenericPromptID {
|
||||
t.Fatalf("unexpected prompt ID: %q", metadata.PromptID)
|
||||
}
|
||||
if metadata.PromptVersion != VersionV1 {
|
||||
t.Fatalf("unexpected prompt version: %q", metadata.PromptVersion)
|
||||
}
|
||||
if metadata.PromptSource != SourceBuiltin {
|
||||
t.Fatalf("unexpected prompt source: %q", metadata.PromptSource)
|
||||
}
|
||||
if metadata.EmbeddedPath != "assets/test/generic" {
|
||||
t.Fatalf("unexpected embedded path: %q", metadata.EmbeddedPath)
|
||||
}
|
||||
if !strings.HasPrefix(metadata.SHA256, "sha256:") {
|
||||
t.Fatalf("expected prefixed hash, got %q", metadata.SHA256)
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.promptID, func(t *testing.T) {
|
||||
metadata, ok := LookupMetadata(tc.promptID)
|
||||
if !ok {
|
||||
t.Fatalf("expected metadata for %q", tc.promptID)
|
||||
}
|
||||
|
||||
if metadata.PromptID != tc.promptID {
|
||||
t.Fatalf("unexpected prompt ID: %q", metadata.PromptID)
|
||||
}
|
||||
if metadata.PromptVersion != VersionV1 {
|
||||
t.Fatalf("unexpected prompt version: %q", metadata.PromptVersion)
|
||||
}
|
||||
if metadata.PromptSource != SourceBuiltin {
|
||||
t.Fatalf("unexpected prompt source: %q", metadata.PromptSource)
|
||||
}
|
||||
if metadata.EmbeddedPath != tc.embeddedPath {
|
||||
t.Fatalf("unexpected embedded path: %q", metadata.EmbeddedPath)
|
||||
}
|
||||
if !strings.HasPrefix(metadata.SHA256, "sha256:") {
|
||||
t.Fatalf("expected prefixed hash, got %q", metadata.SHA256)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,17 +59,22 @@ func TestMustLookupMetadataPanicsForUnknownPromptID(t *testing.T) {
|
||||
|
||||
func TestRegisteredMetadataSortedByPromptID(t *testing.T) {
|
||||
registered := RegisteredMetadata()
|
||||
if len(registered) != 1 {
|
||||
t.Fatalf("expected one registered prompt, got %d", len(registered))
|
||||
if len(registered) != 2 {
|
||||
t.Fatalf("expected two registered prompts, got %d", len(registered))
|
||||
}
|
||||
|
||||
ids := make([]string, len(registered))
|
||||
seen := make(map[string]bool, len(registered))
|
||||
for i, metadata := range registered {
|
||||
ids[i] = metadata.PromptID
|
||||
seen[metadata.PromptID] = true
|
||||
}
|
||||
if !sort.StringsAreSorted(ids) {
|
||||
t.Fatalf("expected sorted prompt IDs, got %v", ids)
|
||||
}
|
||||
if !seen[DNDSpellsPromptID] {
|
||||
t.Fatalf("registered prompt IDs = %v, want %q", ids, DNDSpellsPromptID)
|
||||
}
|
||||
}
|
||||
|
||||
func TestHardeningTextAvailable(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user