) BeforeEach(func() { requirementsFactory = &testreq.FakeReqFactory{} }) It("fails requirements when not logged in", func() { cmd := NewBindService(&testterm.FakeUI{}, testconfig.NewRepository(), &testapi.FakeServiceBindingRepo{}) testcmd.RunCommand(cmd, []string{"service", "app"}, requirementsFactory) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) Context("when logged in", func() { BeforeEach(func() { requirementsFactory.LoginSuccess = true }) It("binds a service instance to an app", func() { app := models.Application{} app.Name = "my-app" app.Guid = "my-app-guid" serviceInstance := models.ServiceInstance{} serviceInstance.Name = "my-service" serviceInstance.Guid = "my-service-guid" requirementsFactory.Application = app requirementsFactory.ServiceInstance = serviceInstance serviceBindingRepo := &testapi.FakeServiceBindingRepo{} ui := callBindService([]string{"my-app", "my-service"}, requirementsFactory, serviceBindingRepo) Expect(requirementsFactory.ApplicationName).To(Equal("my-app"))
app.Name = "my-app" appRepo = &testApplication.FakeApplicationRepository{} appRepo.ReadReturns.App = app configRepo = testconfig.NewRepositoryWithDefaults() requirementsFactory = &testreq.FakeReqFactory{LoginSuccess: true} }) runCommand := func(args ...string) { cmd := NewEnv(ui, configRepo, appRepo) testcmd.RunCommand(cmd, args, requirementsFactory) } Describe("Requirements", func() { It("fails when the user is not logged in", func() { requirementsFactory.LoginSuccess = false runCommand("my-app") Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) }) It("fails with usage when no app name is given", func() { runCommand() Expect(ui.FailedWithUsage).To(BeTrue()) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) It("fails with usage when the app cannot be found", func() { appRepo.ReadReturns.Error = errors.NewModelNotFoundError("app", "hocus-pocus") runCommand("hocus-pocus")
var reqFactory *testreq.FakeReqFactory BeforeEach(func() { routeRepo = &testapi.FakeRouteRepository{} reqFactory = &testreq.FakeReqFactory{} }) It("fails requirements when not logged in", func() { callDeleteOrphanedRoutes("y", []string{}, reqFactory, routeRepo) Expect(testcmd.CommandDidPassRequirements).To(BeFalse()) }) Context("when logged in successfully", func() { BeforeEach(func() { reqFactory.LoginSuccess = true }) It("passes requirements when logged in", func() { callDeleteOrphanedRoutes("y", []string{}, reqFactory, routeRepo) Expect(testcmd.CommandDidPassRequirements).To(BeTrue()) }) It("passes when confirmation is provided", func() { var ui *testterm.FakeUI domain := models.DomainFields{Name: "example.com"} domain2 := models.DomainFields{Name: "cookieclicker.co"} app1 := models.ApplicationFields{Name: "dora"} route := models.Route{}