github.com/loggregator/cli@v6.33.1-0.20180224010324-82334f081791+incompatible/actor/v2action/organization_quota_test.go (about) 1 package v2action_test 2 3 import ( 4 "errors" 5 6 "code.cloudfoundry.org/cli/actor/actionerror" 7 . "code.cloudfoundry.org/cli/actor/v2action" 8 "code.cloudfoundry.org/cli/actor/v2action/v2actionfakes" 9 "code.cloudfoundry.org/cli/api/cloudcontroller/ccerror" 10 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2" 11 . "github.com/onsi/ginkgo" 12 . "github.com/onsi/gomega" 13 ) 14 15 var _ = Describe("OrganizationQuota Actions", func() { 16 var ( 17 actor *Actor 18 fakeCloudControllerClient *v2actionfakes.FakeCloudControllerClient 19 ) 20 21 BeforeEach(func() { 22 fakeCloudControllerClient = new(v2actionfakes.FakeCloudControllerClient) 23 actor = NewActor(fakeCloudControllerClient, nil, nil) 24 }) 25 26 Describe("GetOrganizationQuota", func() { 27 Context("when the org quota exists", func() { 28 BeforeEach(func() { 29 fakeCloudControllerClient.GetOrganizationQuotaReturns( 30 ccv2.OrganizationQuota{ 31 GUID: "some-org-quota-guid", 32 Name: "some-org-quota", 33 }, 34 ccv2.Warnings{"warning-1"}, 35 nil, 36 ) 37 }) 38 39 It("returns the org quota and warnings", func() { 40 orgQuota, warnings, err := actor.GetOrganizationQuota("some-org-quota-guid") 41 Expect(err).ToNot(HaveOccurred()) 42 Expect(orgQuota).To(Equal(OrganizationQuota{ 43 GUID: "some-org-quota-guid", 44 Name: "some-org-quota", 45 })) 46 Expect(warnings).To(Equal(Warnings{"warning-1"})) 47 48 Expect(fakeCloudControllerClient.GetOrganizationQuotaCallCount()).To(Equal(1)) 49 Expect(fakeCloudControllerClient.GetOrganizationQuotaArgsForCall(0)).To(Equal( 50 "some-org-quota-guid")) 51 }) 52 }) 53 54 Context("when the org quota does not exist", func() { 55 BeforeEach(func() { 56 fakeCloudControllerClient.GetOrganizationQuotaReturns(ccv2.OrganizationQuota{}, nil, ccerror.ResourceNotFoundError{}) 57 }) 58 59 It("returns an OrganizationQuotaNotFoundError", func() { 60 _, _, err := actor.GetOrganizationQuota("some-org-quota-guid") 61 Expect(err).To(MatchError(actionerror.OrganizationQuotaNotFoundError{GUID: "some-org-quota-guid"})) 62 }) 63 }) 64 65 Context("when the cloud controller client returns an error", func() { 66 var expectedErr error 67 68 BeforeEach(func() { 69 expectedErr = errors.New("some org quota error") 70 fakeCloudControllerClient.GetOrganizationQuotaReturns(ccv2.OrganizationQuota{}, nil, expectedErr) 71 }) 72 73 It("returns the error", func() { 74 _, _, err := actor.GetOrganizationQuota("some-org-quota-guid") 75 Expect(err).To(MatchError(expectedErr)) 76 }) 77 }) 78 }) 79 })