Files
audita/internal/framework/proposal_generation/variables_test.go

34 lines
1.3 KiB
Go

package proposal_generation
import (
"strings"
"testing"
domain "gitea.maximumdirect.net/eric/audita/v3/internal/core/glossary"
"gitea.maximumdirect.net/eric/audita/v3/internal/core/schema"
"gitea.maximumdirect.net/eric/audita/v3/internal/framework/promptcontext"
)
func TestBuildProposalVariablesPreservesSectionGlossaryAndDescription(t *testing.T) {
transcript := &schema.Transcript{Segments: []schema.Segment{{ID: 1, Speaker: "A", Start: 0, End: 1, Text: "gestures"}}}
glossary := []domain.Entry{{ID: "jesters", Name: "Jesters"}}
prepared, err := promptcontext.PrepareGlossaryVariables(glossary, nil)
if err != nil {
t.Fatal(err)
}
variables, err := buildProposalVariables(transcript, prepared, 0, " Fantasy names ")
if err != nil {
t.Fatal(err)
}
if !strings.Contains(variables["SectionJSON"], `"section_index": 0`) || !strings.Contains(variables["SectionJSON"], "gestures") || !strings.Contains(variables["GlossaryJSON"], "Jesters") || !strings.Contains(variables["TranscriptDescriptionBlock"], "Fantasy names") {
t.Fatalf("encoded variables incomplete: %+v", variables)
}
empty, err := buildProposalVariables(transcript, prepared, 0, " ")
if err != nil {
t.Fatal(err)
}
if empty["TranscriptDescriptionBlock"] != "" {
t.Fatal("empty description added guidance")
}
}