对接
This commit is contained in:
@@ -21,9 +21,6 @@ func openChatTestDB(t *testing.T) *gorm.DB {
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err = db.AutoMigrate(&messagePO{}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, statement := range []string{
|
||||
`CREATE TABLE live_rooms (id integer primary key, enabled numeric, deleted_at datetime)`,
|
||||
`CREATE TABLE sys_users (id integer primary key, username text, nick_name text, header_img text, enable integer, deleted_at datetime)`,
|
||||
@@ -37,6 +34,22 @@ func openChatTestDB(t *testing.T) *gorm.DB {
|
||||
return db
|
||||
}
|
||||
|
||||
func TestChatHistoryIsProcessLocalNotPersisted(t *testing.T) {
|
||||
db := openChatTestDB(t)
|
||||
first := NewRepo(testProvider{db: db})
|
||||
if _, err := first.CreateChat(context.Background(), 7, 3, "current session"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
second := NewRepo(testProvider{db: db})
|
||||
items, err := second.ListRecent(context.Background(), 7, 100)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(items) != 0 {
|
||||
t.Fatalf("chat leaked across runtime sessions: %+v", items)
|
||||
}
|
||||
}
|
||||
|
||||
func TestChatKeepsLatestHundredMessages(t *testing.T) {
|
||||
db := openChatTestDB(t)
|
||||
repo := NewRepo(testProvider{db: db})
|
||||
@@ -65,3 +78,21 @@ func TestGiftMessageUsesSnapshotAndUserAvatar(t *testing.T) {
|
||||
t.Fatalf("gift message = %+v", item)
|
||||
}
|
||||
}
|
||||
|
||||
func TestClearDropsRoomMessagesWhenBroadcastEnds(t *testing.T) {
|
||||
db := openChatTestDB(t)
|
||||
repo := NewRepo(testProvider{db: db})
|
||||
if _, err := repo.CreateChat(context.Background(), 7, 3, "before close"); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := repo.Clear(context.Background(), 7); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
items, err := repo.ListRecent(context.Background(), 7, 100)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(items) != 0 {
|
||||
t.Fatalf("messages remained after room close: %+v", items)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user