} }) JustBeforeEach(func() { request := newTestRequest(requestBody) handler.UpdateDesiredLRP(logger, responseRecorder, request) }) Context("when updating desired lrp in DB succeeds", func() { BeforeEach(func() { fakeDesiredLRPDB.UpdateDesiredLRPReturns(beforeDesiredLRP, nil) fakeDesiredLRPDB.DesiredLRPByProcessGuidReturns(afterDesiredLRP, nil) }) It("updates the desired lrp", func() { Expect(fakeDesiredLRPDB.UpdateDesiredLRPCallCount()).To(Equal(1)) _, actualProcessGuid, actualUpdate := fakeDesiredLRPDB.UpdateDesiredLRPArgsForCall(0) Expect(actualProcessGuid).To(Equal(processGuid)) Expect(actualUpdate).To(Equal(update)) Expect(responseRecorder.Code).To(Equal(http.StatusOK)) response := models.DesiredLRPLifecycleResponse{} err := response.Unmarshal(responseRecorder.Body.Bytes()) Expect(err).NotTo(HaveOccurred()) Expect(response.Error).To(BeNil()) }) It("emits a create event to the hub", func(done Done) { Eventually(desiredHub.EmitCallCount).Should(Equal(1)) event := desiredHub.EmitArgsForCall(0) changeEvent, ok := event.(*models.DesiredLRPChangedEvent)