package isphere import ( "reflect" "testing" ) func TestSearchGroupsFromMessagesMatchesGroupchatJIDs(t *testing.T) { messages := []Message{ {ID: "msg-1", ConversationType: "groupchat", SenderID: "project-room@conference.imopenfire1-lanzhou", ReceiverID: "user@imopenfire1-lanzhou"}, {ID: "msg-2", ConversationType: "chat", SenderID: "alice@imopenfire1-lanzhou", ReceiverID: "bob@imopenfire1-lanzhou"}, {ID: "msg-3", ConversationType: "groupchat", SenderID: "project-room@conference.imopenfire1-lanzhou", ReceiverID: "other@imopenfire1-lanzhou"}, } got := SearchGroupsFromMessages(messages, SearchGroupsQuery{Query: "project", Limit: 10}) want := SearchGroupsResult{Groups: []Group{ {GroupID: "project-room@conference.imopenfire1-lanzhou", DisplayName: "project-room@conference.imopenfire1-lanzhou", Source: "local_readonly", Confidence: 0.6, RawRef: "groupchat_jid"}, }} if !reflect.DeepEqual(got, want) { t.Fatalf("SearchGroupsFromMessages() = %#v, want %#v", got, want) } }