}) It("unclaims and auctions the actual lrps with missing cells", func() { Eventually(fakeLRPDB.UnclaimActualLRPCallCount).Should(Equal(2)) unclaimedKeys := []*models.ActualLRPKey{} for i := 0; i < fakeLRPDB.UnclaimActualLRPCallCount(); i++ { _, key := fakeLRPDB.UnclaimActualLRPArgsForCall(i) unclaimedKeys = append(unclaimedKeys, key) } Expect(unclaimedKeys).To(ContainElement(&unclaimingActualLRP1.ActualLRPKey)) Expect(unclaimedKeys).To(ContainElement(&unclaimingActualLRP2.ActualLRPKey)) Eventually(actualHub.EmitCallCount).Should(Equal(2)) changeEvents := []*models.ActualLRPChangedEvent{} for i := 0; i < actualHub.EmitCallCount(); i++ { event := actualHub.EmitArgsForCall(i) if changeEvent, ok := event.(*models.ActualLRPChangedEvent); ok { changeEvents = append(changeEvents, changeEvent) } } group1 := &models.ActualLRPGroup{Instance: unclaimingActualLRP1} group2 := &models.ActualLRPGroup{Instance: unclaimingActualLRP2} Expect(changeEvents).To(ContainElement(models.NewActualLRPChangedEvent(group1, group1))) Expect(changeEvents).To(ContainElement(models.NewActualLRPChangedEvent(group2, group2))) }) Context("when the DB returns an unrecoverable error", func() { BeforeEach(func() { fakeLRPDB.UnclaimActualLRPReturns(nil, nil, models.NewUnrecoverableError(nil)) })