err := flagContext.Parse("hostname", "domain-name", "--path", "the-path") Expect(err).NotTo(HaveOccurred()) _, err = cmd.Requirements(factory, flagContext) Expect(err).NotTo(HaveOccurred()) }) It("checks if the route exists", func() { cmd.Execute(flagContext) Expect(routeRepo.CheckIfExistsCallCount()).To(Equal(1)) _, _, path := routeRepo.CheckIfExistsArgsForCall(0) Expect(path).To(Equal("the-path")) }) Context("when finding the route succeeds and the route exists", func() { BeforeEach(func() { routeRepo.CheckIfExistsReturns(true, nil) }) It("tells the user the route exists", func() { cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings([]string{"Route hostname.domain-name/the-path does exist"})) }) }) Context("when finding the route succeeds and the route does not exist", func() { BeforeEach(func() { routeRepo.CheckIfExistsReturns(false, nil) }) It("tells the user the route exists", func() { cmd.Execute(flagContext)
requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true passed := runCommand("foobar.example.com") Expect(passed).To(BeFalse()) Expect(ui.Outputs).To(ContainSubstrings( []string{"Incorrect Usage", "Requires", "arguments"}, )) }) }) Context("when the route already exists", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true routeRepo.CheckIfExistsReturns(true, nil) }) It("prints out route does exist", func() { requirementsFactory.LoginSuccess = true requirementsFactory.TargetedOrgSuccess = true runCommand("some-existing-route", "example.com") Expect(ui.Outputs).To(ContainSubstrings( []string{"Checking for route..."}, []string{"OK"}, []string{"Route some-existing-route.example.com does exist"}, )) }) })