}

			returnedVolumes = append(returnedVolumes, newestReturnedSavedVolume)

			fakeBaggageCollectorDB.GetAllPipelinesReturns([]db.SavedPipeline{fakeSavedPipeline}, nil)
			fakePipelineDBFactory.BuildReturns(&fakePipelineDB)
			fakePipelineDB.GetLatestEnabledVersionedResourceReturns(fakeSavedVersionedResource, true, nil)

			fakeWorkerClient.GetWorkerReturns(nil, errors.New("no-worker-found"))
		})

		It("should remove the volume from the database", func() {
			err := baggageCollector.Collect()
			Expect(err).NotTo(HaveOccurred())

			Expect(fakeBaggageCollectorDB.ReapVolumeCallCount()).To(Equal(2))
			Expect(fakeBaggageCollectorDB.ReapVolumeArgsForCall(0)).To(Equal(returnedSavedVolume.Handle))
			Expect(fakeBaggageCollectorDB.ReapVolumeArgsForCall(1)).To(Equal(newestReturnedSavedVolume.Handle))
		})
	})

	Context("when volume no longer exists", func() {
		Context("when the worker is no longer around", func() {
			BeforeEach(func() {
				fakeWorkerClient.GetWorkerReturns(nil, errors.New("no-worker-found"))
			})

			It("removes the volume from the database", func() {
				err := baggageCollector.Collect()
				Expect(err).NotTo(HaveOccurred())