feat: add learner memory ingestion
This commit is contained in:
@@ -9,12 +9,14 @@ import (
|
||||
|
||||
"tutor/internal/config"
|
||||
"tutor/internal/interview"
|
||||
"tutor/internal/learnermemory"
|
||||
"tutor/internal/workflows"
|
||||
)
|
||||
|
||||
func TestDiagnosticHTTPFlow(t *testing.T) {
|
||||
service := interview.NewService(interview.NewMemoryStore(), workflows.NewStubRunner())
|
||||
handler := NewHandler(config.Config{Environment: "test", ModelKey: "deepseek-v4-flash"}, service)
|
||||
memory := learnermemory.NewService(learnermemory.NewMemoryStore())
|
||||
service := interview.NewService(interview.NewMemoryStore(), workflows.NewStubRunner(), memory)
|
||||
handler := NewHandler(config.Config{Environment: "test", ModelKey: "deepseek-v4-flash"}, service, memory)
|
||||
routes := handler.Routes()
|
||||
|
||||
createBody := bytes.NewBufferString(`{
|
||||
@@ -73,4 +75,22 @@ func TestDiagnosticHTTPFlow(t *testing.T) {
|
||||
if len(loaded.Answers) != 1 {
|
||||
t.Fatalf("answers = %d, want 1", len(loaded.Answers))
|
||||
}
|
||||
|
||||
memoryReq := httptest.NewRequest(http.MethodGet, "/api/v1/learners/user-1/memory", nil)
|
||||
memoryRec := httptest.NewRecorder()
|
||||
routes.ServeHTTP(memoryRec, memoryReq)
|
||||
|
||||
if memoryRec.Code != http.StatusOK {
|
||||
t.Fatalf("memory status = %d, body = %s", memoryRec.Code, memoryRec.Body.String())
|
||||
}
|
||||
var snapshot learnermemory.Snapshot
|
||||
if err := json.NewDecoder(memoryRec.Body).Decode(&snapshot); err != nil {
|
||||
t.Fatalf("decode memory response: %v", err)
|
||||
}
|
||||
if snapshot.Profile.UserID != "user-1" {
|
||||
t.Fatalf("memory profile user = %q", snapshot.Profile.UserID)
|
||||
}
|
||||
if len(snapshot.Mastery) == 0 {
|
||||
t.Fatal("expected mastery entries")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user