package main import ( "context" "encoding/json" "testing" "time" "github.com/breel-render/spoc-bot-vr/model" ) func TestNewPersistenceToRecapProcess(t *testing.T) { ctx, can := context.WithTimeout(context.Background(), time.Second*10) defer can() d := NewTestDriver(t) s, _ := NewStorage(ctx, d) cfg := Config{ driver: d, storage: s, ai: NewAINoop(), Debug: true, } proc := newPersistenceToRecapProcess(cfg) if err := s.UpsertEvent(ctx, model.NewEvent("Event", "", 0, "", "", "", "", true)); err != nil { t.Fatal(err) } else if err := s.UpsertThread(ctx, model.NewThread("Thread", "", 0, "", "Event")); err != nil { t.Fatal(err) } else if err := s.UpsertMessage(ctx, model.NewMessage("Root", 0, "bot", "an alert has fired", "Thread")); err != nil { t.Fatal(err) } else if err := s.UpsertMessage(ctx, model.NewMessage("Message", 0, "me", "hello world", "Thread")); err != nil { t.Fatal(err) } b, _ := json.Marshal(ModelIDs{Event: "Event"}) if _, err := proc(ctx, b); err != nil { t.Error(err) } if thread, err := s.GetThread(ctx, "Thread"); err != nil { t.Error(err) } else if thread.Recap == "" { t.Error("no recap:", thread.Recap) } else { t.Logf("%+v", thread) } }