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  })