func TestPuke(t *testing.T) { b, mb := makeBeersPlugin(t) b.Message(makeMessage("beers += 5")) it, err := counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 5, it.Count) b.Message(makeMessage("puke")) it, err = counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 0, it.Count) }
func TestEqNeg(t *testing.T) { b, mb := makeBeersPlugin(t) b.Message(makeMessage("!beers = -3")) assert.Len(t, mb.Messages, 1) it, err := counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 0, it.Count) }
func TestBourbon(t *testing.T) { b, mb := makeBeersPlugin(t) b.Message(makeMessage("bourbon++")) assert.Len(t, mb.Messages, 1) it, err := counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 2, it.Count) }
func TestBeersReport(t *testing.T) { b, mb := makeBeersPlugin(t) b.Message(makeMessage("beers += 5")) it, err := counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 5, it.Count) b.Message(makeMessage("beers")) assert.Contains(t, mb.Messages[1], "5 beers") }
func TestEqZero(t *testing.T) { b, mb := makeBeersPlugin(t) b.Message(makeMessage("beers += 5")) b.Message(makeMessage("!beers = 0")) assert.Len(t, mb.Messages, 2) assert.Contains(t, mb.Messages[1], "reversal of fortune") it, err := counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 0, it.Count) }
func TestBeersMinusMinus(t *testing.T) { b, mb := makeBeersPlugin(t) b.Message(makeMessage("beers = 5")) assert.Len(t, mb.Messages, 1) b.Message(makeMessage("beers--")) assert.Len(t, mb.Actions, 1) it, err := counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 4, it.Count) }
func TestBeersPlusEq(t *testing.T) { b, mb := makeBeersPlugin(t) b.Message(makeMessage("beers += 5")) assert.Len(t, mb.Messages, 1) b.Message(makeMessage("beers += 5")) assert.Len(t, mb.Messages, 2) it, err := counter.GetItem(mb.DB(), "tester", "booze") assert.Nil(t, err) assert.Equal(t, 10, it.Count) }
func getUserBeers(db *sqlx.DB, user string) counter.Item { booze, _ := counter.GetItem(db, user, "booze") return booze }