]> git.r.bdr.sh - rbdr/mobius/blame - hotline/chat_test.go
Create About This Area.txt
[rbdr/mobius] / hotline / chat_test.go
CommitLineData
d9bc63a1
JH
1package hotline
2
3import (
4 "github.com/stretchr/testify/assert"
5 "testing"
6)
7
8func TestMemChatManager(t *testing.T) {
9 cc1 := &ClientConn{ID: [2]byte{1}}
10 cc2 := &ClientConn{ID: [2]byte{2}}
11
12 cm := NewMemChatManager()
13
14 // Create a new chat with cc1 as initial member.
15 randChatID := cm.New(cc1)
16 assert.Equalf(t, []*ClientConn{cc1}, cm.Members(randChatID), "Initial ChatMembers")
17
18 // Second client joins.
19 cm.Join(randChatID, cc2)
20 assert.Equalf(t, []*ClientConn{cc1, cc2}, cm.Members(randChatID), "ChatMembers")
21
22 // Initial subject is blank.
23 assert.Equalf(t, "", cm.GetSubject(randChatID), "ChatMembers")
24
25 // Update subject.
26 cm.SetSubject(randChatID, "test")
27 assert.Equalf(t, "test", cm.GetSubject(randChatID), "ChatMembers")
28
29 // Second client leaves.
30 cm.Leave(randChatID, cc2.ID)
31 assert.Equalf(t, []*ClientConn{cc1}, cm.Members(randChatID), "ChatMembers")
32
33 //
34 //type fields struct {
35 // chats map[ChatID]*PrivateChat
36 //}
37 //type args struct {
38 // cc *ClientConn
39 //}
40 //tests := []struct {
41 // name string
42 // fields fields
43 // args args
44 // want ChatID
45 //}{
46 // {
47 // name: "creates new chat",
48 // fields: fields{
49 // chats: make(map[ChatID]*PrivateChat),
50 // },
51 // args: args{
52 // cc: &ClientConn{ID: [2]byte{1}},
53 // },
54 // //want: ,
55 // },
56 //}
57 //for _, tt := range tests {
58 // t.Run(tt.name, func(t *testing.T) {
59 // cm := &MemChatManager{
60 // chats: tt.fields.chats,
61 // mu: sync.Mutex{},
62 // }
63 //
64 // assert.Equalf(t, tt.want, cm.New(tt.args.cc), "New(%v)", tt.args.cc)
65 // })
66 //}
67}