Files
Assistant/modules/interaction/domain/gen2_context_test.go
2026-08-29 12:00:04 +03:00

30 lines
1.1 KiB
Go

package domain_test
import (
"git.cin.su/m/Assistant/contracts/interaction"
"git.cin.su/m/Assistant/modules/interaction/domain"
"strings"
"testing"
)
func TestGen2ContextUsesRetrievalProjectionAndKeepsV1Fallback(t *testing.T) {
got := domain.BuildGen2Context([]interaction.HumanUtterance{{ID: "u", Content: "Я сейчас в Москве", ReceivedAtUnixMillis: 1}})
if got.Source != "retrieval:interaction-utterances" || got.UsedPersonalMemoryFallback {
t.Fatalf("got %#v", got)
}
empty := domain.BuildGen2Context(nil)
if !empty.UsedPersonalMemoryFallback {
t.Fatalf("fallback missing: %#v", empty)
}
}
func TestGen2ContextDoesNotProjectAnotherPrincipal(t *testing.T) {
got := domain.BuildScopedGen2Context([]interaction.HumanUtterance{
{ID: "mine", PrincipalID: "principal-1", Content: "Я сейчас в Москве", ReceivedAtUnixMillis: 2},
{ID: "other", PrincipalID: "principal-2", Content: "Я сейчас в Казани", ReceivedAtUnixMillis: 3},
}, "principal-1")
if got.Text == "" || strings.Contains(got.Text, "Казани") || !strings.Contains(got.Text, "Москве") {
t.Fatalf("scoped context=%#v", got)
}
}