mirror of https://github.com/velour/catbase.git
reminder listing
This commit is contained in:
parent
3ff10ed38b
commit
b2dc49d715
|
@ -129,6 +129,23 @@ func (p *ReminderPlugin) Message(message msg.Message) bool {
|
|||
|
||||
return true
|
||||
}
|
||||
} else if len(parts) == 2 && strings.ToLower(parts[0]) == "list" && strings.ToLower(parts[1]) == "reminders" {
|
||||
var response string
|
||||
p.mutex.Lock()
|
||||
if len(p.reminders) == 0 {
|
||||
response = "no pending reminders"
|
||||
} else {
|
||||
counter := 1
|
||||
for _, reminder := range p.reminders {
|
||||
if reminder.channel == channel {
|
||||
response += fmt.Sprintf("%d) %s -> %s :: %s @ %s\n", counter, reminder.from, reminder.who, reminder.what, reminder.when)
|
||||
counter++
|
||||
}
|
||||
}
|
||||
}
|
||||
p.mutex.Unlock()
|
||||
p.Bot.SendMessage(channel, response)
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
|
|
|
@ -64,6 +64,32 @@ func TestReminderParse(t *testing.T) {
|
|||
assert.Contains(t, mb.Messages[0], "Easy cowboy, not sure I can parse that duration.")
|
||||
}
|
||||
|
||||
func TestEmptyList(t *testing.T) {
|
||||
mb := bot.NewMockBot()
|
||||
c := New(mb)
|
||||
assert.NotNil(t, c)
|
||||
res := c.Message(makeMessage("!list reminders"))
|
||||
assert.Len(t, mb.Messages, 1)
|
||||
assert.True(t, res)
|
||||
assert.Contains(t, mb.Messages[0], "no pending reminders")
|
||||
}
|
||||
|
||||
func TestList(t *testing.T) {
|
||||
mb := bot.NewMockBot()
|
||||
c := New(mb)
|
||||
assert.NotNil(t, c)
|
||||
res := c.Message(makeMessage("!remind testuser in 5m don't fail this test 1"))
|
||||
assert.True(t, res)
|
||||
res = c.Message(makeMessage("!remind testuser in 5m don't fail this test 2"))
|
||||
assert.True(t, res)
|
||||
res = c.Message(makeMessage("!list reminders"))
|
||||
assert.True(t, res)
|
||||
assert.Len(t, mb.Messages, 3)
|
||||
assert.Contains(t, mb.Messages[2], "1) tester -> testuser :: don't fail this test 1 @ ")
|
||||
assert.Contains(t, mb.Messages[2], "2) tester -> testuser :: don't fail this test 2 @ ")
|
||||
}
|
||||
|
||||
|
||||
func TestHelp(t *testing.T) {
|
||||
mb := bot.NewMockBot()
|
||||
c := New(mb)
|
||||
|
|
Loading…
Reference in New Issue