app := models.Application{} app.Guid = "my-app-guid" app.Name = "my-app" requirementsFactory.LoginSuccess = true requirementsFactory.Application = app requirementsFactory.Domain = domain routeCreator.ReservedRoute = route }) It("maps a route, obviously", func() { passed := runCommand("-n", "my-host", "my-app", "my-domain.com") Expect(passed).To(BeTrue()) Expect(routeRepo.BindCallCount()).To(Equal(1)) boundRouteGUID, boundAppGUID := routeRepo.BindArgsForCall(0) Expect(boundRouteGUID).To(Equal("my-route-guid")) Expect(boundAppGUID).To(Equal("my-app-guid")) Expect(requirementsFactory.ApplicationName).To(Equal("my-app")) Expect(requirementsFactory.DomainName).To(Equal("my-domain.com")) Expect(ui.Outputs).To(ContainSubstrings( []string{"Adding route", "foo.example.com", "my-app", "my-org", "my-space", "my-user"}, []string{"OK"}, )) }) }) })
fakeRouteCreator, ok := fakeCreateRouteCmd.(*fakeroute.FakeRouteCreator) Expect(ok).To(BeTrue()) fakeRouteCreator.CreateRouteReturns(models.Route{Guid: "fake-route-guid"}, nil) }) It("tells the user that it is adding the route", func() { cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings( []string{"Adding route", "to app", "in org"}, )) }) It("tries to bind the route", func() { cmd.Execute(flagContext) Expect(routeRepo.BindCallCount()).To(Equal(1)) routeGUID, appGUID := routeRepo.BindArgsForCall(0) Expect(routeGUID).To(Equal("fake-route-guid")) Expect(appGUID).To(Equal("fake-app-guid")) }) Context("when binding the route succeeds", func() { BeforeEach(func() { routeRepo.BindReturns(nil) }) It("tells the user that it succeeded", func() { cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings( []string{"OK"}, )) })