Expect(cap(sender.SendCh)).To(Equal(90)) }) It("uses its cipher to encode messages received on its chan", func() { sentMsg := &message.Message{ Command: "SOMECMD", FirstParams: "someparam", } sender.SendCh <- sentMsg Eventually(fakeCipher.EncodeCalls).Should(Equal(1)) Expect(fakeCipher.EncodeMessages[0]).To(Equal(sentMsg)) }) It("writes to the provided conn with the encoded message", func() { fakeCipher.EncodeStrings = []string{"SOME encodedstring\r\n"} sender.SendCh <- &message.Message{} Eventually(fakeWriter.WriteCalls).Should(Equal(1)) Expect(fakeWriter.WriteMessage).To(Equal([]byte("SOME encodedstring\r\n"))) }) }) Describe("#Send", func() { var fakeCh chan *message.Message BeforeEach(func() { fakeCh = make(chan *message.Message, 1) sender.SendCh = fakeCh })