github.com/loafoe/cli@v7.1.0+incompatible/command/v7/rename_org_command_test.go (about) 1 package v7_test 2 3 import ( 4 "errors" 5 6 "code.cloudfoundry.org/cli/actor/v7action" 7 "code.cloudfoundry.org/cli/command/commandfakes" 8 . "code.cloudfoundry.org/cli/command/v7" 9 "code.cloudfoundry.org/cli/command/v7/v7fakes" 10 "code.cloudfoundry.org/cli/resources" 11 "code.cloudfoundry.org/cli/util/configv3" 12 "code.cloudfoundry.org/cli/util/ui" 13 . "github.com/onsi/ginkgo" 14 . "github.com/onsi/gomega" 15 . "github.com/onsi/gomega/gbytes" 16 ) 17 18 var _ = Describe("rename-org Command", func() { 19 var ( 20 cmd RenameOrgCommand 21 testUI *ui.UI 22 fakeConfig *commandfakes.FakeConfig 23 fakeSharedActor *commandfakes.FakeSharedActor 24 fakeActor *v7fakes.FakeActor 25 input *Buffer 26 binaryName string 27 executeErr error 28 ) 29 30 BeforeEach(func() { 31 input = NewBuffer() 32 testUI = ui.NewTestUI(input, NewBuffer(), NewBuffer()) 33 fakeConfig = new(commandfakes.FakeConfig) 34 fakeSharedActor = new(commandfakes.FakeSharedActor) 35 fakeActor = new(v7fakes.FakeActor) 36 37 cmd = RenameOrgCommand{ 38 BaseCommand: BaseCommand{ 39 UI: testUI, 40 Config: fakeConfig, 41 SharedActor: fakeSharedActor, 42 Actor: fakeActor, 43 }, 44 } 45 46 cmd.RequiredArgs.OldOrgName = "old-org-name" 47 cmd.RequiredArgs.NewOrgName = "new-org-name" 48 49 binaryName = "faceman" 50 fakeConfig.BinaryNameReturns(binaryName) 51 fakeConfig.CurrentUserReturns(configv3.User{Name: "some-user"}, nil) 52 }) 53 54 JustBeforeEach(func() { 55 executeErr = cmd.Execute(nil) 56 }) 57 58 When("checking target succeeds", func() { 59 When("getting the current user returns an error", func() { 60 var returnedErr error 61 62 BeforeEach(func() { 63 returnedErr = errors.New("some error") 64 fakeConfig.CurrentUserReturns(configv3.User{}, returnedErr) 65 }) 66 67 It("returns the error", func() { 68 Expect(executeErr).To(MatchError(returnedErr)) 69 }) 70 }) 71 When("when the command succeeds", func() { 72 BeforeEach(func() { 73 fakeConfig.CurrentUserReturns(configv3.User{Name: "username"}, nil) 74 fakeActor.RenameOrganizationReturns( 75 resources.Organization{GUID: "old-org-guid", Name: "new-org-name"}, 76 v7action.Warnings{"warning-1", "warning-2"}, 77 nil, 78 ) 79 }) 80 81 It("renames the org", func() { 82 Expect(executeErr).NotTo(HaveOccurred()) 83 84 Expect(testUI.Err).To(Say("warning-1")) 85 Expect(testUI.Err).To(Say("warning-2")) 86 87 Expect(fakeActor.RenameOrganizationCallCount()).To(Equal(1)) 88 oldOrgName, newOrgName := fakeActor.RenameOrganizationArgsForCall(0) 89 Expect(oldOrgName).To(Equal("old-org-name")) 90 Expect(newOrgName).To(Equal("new-org-name")) 91 }) 92 93 When("renaming a targeted org", func() { 94 BeforeEach(func() { 95 fakeConfig.TargetedOrganizationReturns(configv3.Organization{GUID: "old-org-guid", Name: "old-org-name"}) 96 }) 97 98 It("renames the org and records it in the config file", func() { 99 Expect(executeErr).ToNot(HaveOccurred()) 100 101 Expect(testUI.Err).To(Say("warning-1")) 102 Expect(testUI.Err).To(Say("warning-2")) 103 104 Expect(fakeConfig.SetOrganizationInformationCallCount()).To(Equal(1)) 105 newOrgGUID, newOrgName := fakeConfig.SetOrganizationInformationArgsForCall(0) 106 Expect(newOrgGUID).To(Equal("old-org-guid")) 107 Expect(newOrgName).To(Equal("new-org-name")) 108 }) 109 }) 110 }) 111 }) 112 })