Expect(err).ToNot(HaveOccurred()) provisioningContext.InstanceId = "some-instance-id" }) Context("when all goes ok", func() { BeforeEach(func() { instance := repository.Instance{ ID: "some-instance-id", ServiceID: "service-1", PlanID: "plan-1", OrganizationID: "org-1", SpaceID: "space-1", } state.InstanceReturns(&instance, nil) provisioningContext.ServiceId = "service-2" provisioningContext.PlanId = "plan-2" err := provisioningController.Update(provisioningContext) Expect(err).ToNot(HaveOccurred()) }) It("responds with 200", func() { Expect(goaContext.ResponseStatus()).To(Equal(200)) }) It("sends the correct message to the state", func() { recordedInstance := state.UpdateInstanceArgsForCall(0) Expect(recordedInstance.ID).To(Equal("some-instance-id")) Expect(recordedInstance.OrganizationID).To(Equal("org-1"))
JustBeforeEach(func() { bindingController = controllers.NewBinding(state) err := bindingController.Update(bindingContext) Expect(err).ToNot(HaveOccurred()) }) Context("when all goes ok", func() { BeforeEach(func() { instance := repository.Instance{ ID: "instance-1", } state.InstanceExistsReturns(true) state.InstanceBindingExistsReturns(false) state.InstanceReturns(&instance, nil) }) It("responds with 201", func() { Expect(goaContext.ResponseStatus()).To(Equal(201)) }) It("updates the state", func() { instanceID, bindingID := state.AddInstanceBindingArgsForCall(0) Expect(instanceID).To(Equal("instance-1")) Expect(bindingID).To(Equal("binding-1")) }) }) Context("when the instance doesn't exist", func() { BeforeEach(func() {