runCommand("-s", "space-name", "source-app", "target-app") targetAppName, spaceGuid := appRepo.ReadFromSpaceArgsForCall(0) Expect(targetAppName).To(Equal("target-app")) Expect(spaceGuid).To(Equal("model-space-guid")) Expect(ui.Outputs).To(ContainSubstrings( []string{"Copying source from app", "source-app", "to target app", "target-app", "in org my-org / space space-name as my-user..."}, []string{"Note: this may take some time"}, []string{"OK"}, )) }) Context("Failures", func() { It("when we cannot find the provided space", func() { spaceRepo.FindByNameErr = true runCommand("-s", "space-name", "source-app", "target-app") Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"Error finding space by name."}, )) }) }) }) Describe("when an org and space name are passed as parameters", func() { It("send the correct target application for the space and org", func() { orgRepo.FindByNameReturns(models.Organization{ Spaces: []models.SpaceFields{ {
}) It("warns the user that the operation was not performed", func() { Expect(quotaRepo.UpdateCallCount()).To(Equal(0)) Expect(ui.Outputs).To(ContainSubstrings( []string{"Assigning space quota", "to space", "my-user"}, []string{"FAILED"}, []string{"This space already has an assigned space quota."}, )) }) }) }) Context("when an error occurs fetching the space", func() { BeforeEach(func() { spaceRepo.FindByNameErr = true }) It("prints an error", func() { Expect(ui.Outputs).To(ContainSubstrings( []string{"Assigning space quota", "to space", "my-user"}, []string{"FAILED"}, []string{"Error finding space by name"}, )) }) }) Context("when an error occurs fetching the quota", func() { BeforeEach(func() { spaceRepo.Spaces = []models.Space{ models.Space{