fakeProvider *fakes.FakeWorkerProvider pool Client ) BeforeEach(func() { logger = lagertest.NewTestLogger("test") fakeProvider = new(fakes.FakeWorkerProvider) pool = NewPool(fakeProvider) }) Describe("GetWorker", func() { Context("when the call to lookup the worker returns an error", func() { BeforeEach(func() { fakeProvider.GetWorkerReturns(nil, false, errors.New("disaster")) }) It("returns an error", func() { foundWorker, err := pool.GetWorker("some-worker") Expect(err).To(HaveOccurred()) Expect(foundWorker).To(BeNil()) }) }) Context("when the call to lookup the worker fails because the worker was not found", func() { BeforeEach(func() { fakeProvider.GetWorkerReturns(nil, false, nil) }) It("returns an error indicating no workers were found", func() {