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