コード例 #1
0
ファイル: services_plans_test.go プロジェクト: Reejoshi/cli
			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(planGUID).To(Equal("limited-service-plan-guid"))
				Expect(orgGUID).To(Equal("org-1-guid"))
			})

			It("Does not try to update service plans if they are all already public or the org already has access", func() {
				serviceBuilder.GetServiceByNameWithPlansReturns(publicAndLimitedService, nil)

				err := actor.UpdateOrgForService("my-public-and-limited-service", "org-1", true)
				Expect(err).ToNot(HaveOccurred())