}) }) Describe("#Decr", func() { It("calls DECR on the redis connection", func() { var decrCalled bool fakeConnection.RespondToDo(func(command string, args ...interface{}) (interface{}, error) { decrCalled = true Expect(command).To(Equal("DECR")) Expect(args[0]).To(HaveLen(1)) Expect(args[0].([]interface{})[0]).To(Equal("my key")) return int64(42), nil }) val, err := commander.Decr("my key") Expect(err).To(BeNil()) Expect(decrCalled).To(BeTrue()) Expect(val).To(Equal(42)) }) It("returns the redis error", func() { fakeConnection.RespondToDo(func(command string, args ...interface{}) (interface{}, error) { return nil, errors.New("decr error") }) _, err := commander.Decr("my key") Expect(err.Error()).To(Equal("decr error")) }) })