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)