github.com/liamawhite/cli-with-i18n@v6.32.1-0.20171122084555-dede0a5c3448+incompatible/actor/v2action/organization_quota_test.go (about)

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