Example #1
0
			orgRepo.FindByNameReturns(org1, nil)
		})

		It("Returns an error if the service cannot be found", func() {
			serviceBuilder.GetServiceByNameForOrgReturns(models.ServiceOffering{}, errors.New("service was not found"))

			_, err := actor.UpdateOrgForService("not-a-service", "org-1", true)
			Expect(err.Error()).To(Equal("service was not found"))
		})

		Context("when giving access to all plans for a single org", func() {
			It("creates a service plan visibility for all private plans", func() {
				_, err := actor.UpdateOrgForService("my-mixed-service", "org-1", true)
				Expect(err).ToNot(HaveOccurred())

				Expect(servicePlanVisibilityRepo.CreateCallCount()).To(Equal(1))

				planGuid, orgGuid := servicePlanVisibilityRepo.CreateArgsForCall(0)
				Expect(planGuid).To(Equal("private-service-plan-guid"))
				Expect(orgGuid).To(Equal("org-1-guid"))
			})

			It("Returns true if all the plans were already public", func() {
				serviceBuilder.GetServiceByNameForOrgReturns(publicService, nil)
				allPlansSet, err := actor.UpdateOrgForService("my-public-service", "org-1", true)
				Expect(err).NotTo(HaveOccurred())
				Expect(allPlansSet).To(BeTrue())
			})

			It("Returns false if any of the plans were not public", func() {
				serviceBuilder.GetServiceByNameForOrgReturns(privateService, nil)