Example #1
0
	Describe("#SetAdd", func() {
		It("calls SADD on the redis connection", func() {
			saddCalled := false
			elements := []string{"one", "two"}

			fakeConnection.RespondToDo(func(command string, args ...interface{}) (interface{}, error) {
				saddCalled = true
				Expect(command).To(Equal("SADD"))
				Expect(args[0]).To(HaveLen(2))
				Expect(args[0].([]interface{})[0]).To(Equal("my key"))
				Expect(args[0].([]interface{})[1]).To(Equal(elements))

				return int64(1), nil
			})

			err := commander.SetAdd("my key", elements...)

			Expect(err).To(BeNil())
			Expect(saddCalled).To(BeTrue())
		})
	})

	Describe("#GetMembersOfSet", func() {
		It("calls SMEMBERS on the redis connection and returns a list of strings", func() {
			var getMembersCalled bool
			fakeConnection.RespondToDo(func(command string, args ...interface{}) (interface{}, error) {
				getMembersCalled = true
				Expect(command).To(Equal("SMEMBERS"))
				Expect(args[0]).To(HaveLen(1))
				Expect(args[0].([]interface{})[0]).To(Equal("my key"))