Expect(servicePlanRepo.UpdateCallCount()).To(Equal(0)) }) }) }) Describe(".UpdateOrgForService", func() { BeforeEach(func() { serviceBuilder.GetServiceByNameWithPlansReturns(mixedService, nil) orgRepo.FindByNameReturns(org1, nil) }) It("Returns an error if the service cannot be found", func() { serviceBuilder.GetServiceByNameWithPlansReturns(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 plans", func() { err := actor.UpdateOrgForService("my-mixed-service", "org-1", true) Expect(err).ToNot(HaveOccurred()) Expect(servicePlanVisibilityRepo.CreateCallCount()).To(Equal(2)) planGUID, orgGUID := servicePlanVisibilityRepo.CreateArgsForCall(0) Expect(planGUID).To(Equal("private-service-plan-guid")) Expect(orgGUID).To(Equal("org-1-guid")) planGUID, orgGUID = servicePlanVisibilityRepo.CreateArgsForCall(1)
Expect(servicePlanRepo.UpdateCallCount()).To(Equal(0)) }) }) }) Describe(".UpdateOrgForService", func() { BeforeEach(func() { serviceBuilder.GetServiceByNameForOrgReturns(mixedService, nil) 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")) })