provider_test.go

 1package providertests
 2
 3import (
 4	"strings"
 5	"testing"
 6
 7	"github.com/charmbracelet/ai/ai"
 8	_ "github.com/joho/godotenv/autoload"
 9)
10
11func TestSimple(t *testing.T) {
12	for _, pair := range languageModelBuilders {
13		t.Run(pair.name, func(t *testing.T) {
14			r := newRecorder(t)
15
16			languageModel, err := pair.builder(r)
17			if err != nil {
18				t.Fatalf("failed to build language model: %v", err)
19			}
20
21			agent := ai.NewAgent(
22				languageModel,
23				ai.WithSystemPrompt("You are a helpful assistant"),
24			)
25			result, err := agent.Generate(t.Context(), ai.AgentCall{
26				Prompt: "Say hi in Portuguese",
27			})
28			if err != nil {
29				t.Fatalf("failed to generate: %v", err)
30			}
31
32			want := "Olá"
33			got := result.Response.Content.Text()
34			if !strings.Contains(got, want) {
35				t.Fatalf("unexpected response: got %q, want %q", got, want)
36			}
37		})
38	}
39}