Skip to content

Commit 487fa46

Browse files
committed
go-chat-bot#135 tests for RegisterMessageRecieveFilter
1 parent f8f2441 commit 487fa46

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

cmd_test.go

+19-4
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,17 @@ func TestMultiplePeriodicCommands(t *testing.T) {
166166
defer b.Close()
167167

168168
entries := b.cron.Entries()
169+
170+
sort.Slice(entries, func(i, j int) bool {
171+
return entries[i].ID < entries[j].ID
172+
})
173+
174+
t.Logf("%+v", entries)
169175
if len(entries) != 2 {
170176
t.Fatal("Should have 2 cron job entries")
171177
}
172178
if entries[0].Next.Hour() != 8 {
179+
173180
t.Fatal("First cron job should be scheduled for 8am")
174181
}
175182
if entries[1].Next.Hour() != 12 {
@@ -691,20 +698,28 @@ func TestCmdV3WithoutSpecifyingChannel(t *testing.T) {
691698

692699
func TestMessageReceiveFilter(t *testing.T) {
693700
reset()
701+
702+
// register a command
694703
hello := func(c *Cmd) (string, error) { return "after receive filter: " + c.Message, nil }
695-
RegisterCommand("cmd", "", "", hello)
704+
RegisterCommand("hello", "", "", hello)
696705

697-
modified := func(cd *ChannelData, msg *Message, sender *User, cmd *Cmd) error {
706+
// filter function that modifies the message before command interpretation
707+
var modified filterMessageReceiveFuncV1
708+
modified = func(cd *ChannelData, msg *Message, sender *User, cmd *Cmd) error {
698709
cmd.Message = "modified"
699710
return nil
700711
}
701-
errored := func(cd *ChannelData, msg *Message, sender *User, cmd *Cmd) error { return errors.New("error") }
712+
713+
// filter function that errors before command interpretation
714+
var errored filterMessageReceiveFuncV1
715+
errored = func(cd *ChannelData, msg *Message, sender *User, cmd *Cmd) error { return errors.New("error") }
702716

703717
RegisterMessageReceiveFilter("modified", modified)
704718
RegisterMessageReceiveFilter("errored", errored)
705719

706720
b := newBot()
707-
b.MessageReceived(&ChannelData{Channel: "#go-bot"}, &Message{Text: "!cmd"}, &User{Nick: "user"})
721+
722+
b.MessageReceived(&ChannelData{Channel: "#go-bot"}, &Message{Text: "!hello"}, &User{Nick: "user"})
708723

709724
waitMessages(t, 1, 1)
710725

0 commit comments

Comments
 (0)