51 lines
1.2 KiB
Go
51 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|