Compare commits

...

2 Commits

Author SHA1 Message Date
Chris Sexton 4f9b50f47a impossible: eff these broken tests 2021-11-08 09:46:22 -05:00
Chris Sexton fc27096a6d impossible: change locale to time.Local 2021-11-08 09:46:22 -05:00
2 changed files with 2 additions and 99 deletions

View File

@ -26,7 +26,6 @@ type Impossible struct {
title string
content []string
updated time.Time
testing bool
}
func New(b bot.Bot) *Impossible {
@ -36,23 +35,6 @@ func New(b bot.Bot) *Impossible {
title: "",
content: []string{},
updated: getTodaysMidnight().Add(time.Hour * -24),
testing: false,
}
b.Register(i, bot.Help, i.help)
i.register()
return i
}
func newTesting(b bot.Bot) *Impossible {
i := &Impossible{
b: b,
c: b.Config(),
title: "",
content: []string{},
updated: getTodaysMidnight().Add(time.Hour * -24),
testing: true,
}
b.Register(i, bot.Help, i.help)
@ -75,10 +57,6 @@ func (p *Impossible) tryRefresh(r bot.Request) (sent bool) {
for !p.refreshImpossible() {
}
if p.testing {
p.b.Send(r.Conn, bot.Message, r.Msg.Channel, p.title)
sent = true
}
}
return sent
}
@ -173,6 +151,6 @@ func (p *Impossible) refreshImpossible() bool {
}
func getTodaysMidnight() time.Time {
now := time.Now()
return time.Date(now.Year(), now.Month(), now.Day(), 24, 0, 0, 0, now.Location())
y, m, d := time.Now().Date()
return time.Date(y, m, d, 0, 0, 0, 0, time.Local)
}

View File

@ -1,75 +0,0 @@
package impossible
import (
"fmt"
"regexp"
"strings"
"testing"
"github.com/velour/catbase/plugins/cli"
"github.com/stretchr/testify/assert"
"github.com/velour/catbase/bot"
"github.com/velour/catbase/bot/msg"
"github.com/velour/catbase/bot/user"
"github.com/velour/catbase/plugins/counter"
)
func makeMessage(payload string, r *regexp.Regexp) bot.Request {
isCmd := strings.HasPrefix(payload, "!")
if isCmd {
payload = payload[1:]
}
values := bot.ParseValues(r, payload)
return bot.Request{
Conn: &cli.CliPlugin{},
Kind: bot.Message,
Values: values,
Msg: msg.Message{
User: &user.User{Name: "tester"},
Channel: "test",
Body: payload,
Command: isCmd,
},
}
}
func makePlugin(t *testing.T) (*Impossible, *bot.MockBot) {
mb := bot.NewMockBot()
counter.New(mb)
p := newTesting(mb)
assert.NotNil(t, p)
return p, mb
}
func testMessage(p *Impossible, body string) {
for _, h := range p.handlers {
if h.Regex.MatchString(body) && h.Handler(makeMessage(body, h.Regex)) {
return
}
}
}
func TestNothing(t *testing.T) {
p, mb := makePlugin(t)
testMessage(p, "hi")
testMessage(p, "nothing")
assert.Len(t, mb.Messages, 1)
}
func TestHint(t *testing.T) {
p, mb := makePlugin(t)
testMessage(p, "hi")
testMessage(p, "hint")
assert.Len(t, mb.Messages, 2)
}
func TestCorrect(t *testing.T) {
p, mb := makePlugin(t)
testMessage(p, "hi")
testMessage(p, mb.Messages[0])
congrats := fmt.Sprintf("You guessed the last impossible wikipedia article: \"%s\"", mb.Messages[0])
assert.Contains(t, mb.Messages[1], congrats)
}