Eventually(emitter.EmitCallCount).Should(Equal(1)) }) It("does not emit any more messages", func() { Consistently(emitter.EmitCallCount).Should(Equal(1)) }) }) Context("when the event source returns an error", func() { var subscribeErr error BeforeEach(func() { subscribeErr = errors.New("subscribe-error") bbsClient.SubscribeToEventsStub = func() (events.EventSource, error) { if bbsClient.SubscribeToEventsCallCount() == 1 { return eventSource, nil } return nil, subscribeErr } eventSource.NextStub = func() (models.Event, error) { return nil, errors.New("next-error") } }) JustBeforeEach(func() { syncEvents.Sync <- struct{}{} }) It("re-subscribes", func() {