}) Context("when the instance does not exist", func() { It("returns a 201", func() { response := makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(response.StatusCode).To(Equal(201)) }) It("returns empty json", func() { response := makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(response.Body).To(MatchJSON(fixture("provisioning.json"))) }) Context("when the broker returns a dashboard URL", func() { BeforeEach(func() { fakeServiceBroker.DashboardURL = "some-dashboard-url" }) It("returns json with dasboard URL", func() { response := makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(response.Body).To(MatchJSON(fixture("provisioning_with_dashboard.json"))) }) }) Context("when the instance limit has been reached", func() { BeforeEach(func() { for i := 0; i < fakeServiceBroker.InstanceLimit; i++ { makeInstanceProvisioningRequest(uniqueInstanceID(), provisionDetails, "") } })