Example #1
0
		Context("when the user does not provide two args", func() {
			It("fails with usage", func() {
				runCommand()
				Expect(ui.FailedWithUsage).To(BeTrue())
			})
		})

		Context("when the user provides an app and a domain", func() {
			BeforeEach(func() {
				requirementsFactory.Application = models.Application{ApplicationFields: models.ApplicationFields{
					Guid: "my-app-guid",
					Name: "my-app",
				}}
				requirementsFactory.Domain = models.DomainFields{
					Guid: "my-domain-guid",
					Name: "example.com",
				}
				routeRepo.FindByHostAndDomainReturns.Route = models.Route{
					Domain: requirementsFactory.Domain,
					Guid:   "my-route-guid",
					Host:   "foo",
				}
				runCommand("-n", "my-host", "my-app", "my-domain.com")
			})

			It("passes requirements", func() {
				Expect(testcmd.CommandDidPassRequirements).To(BeTrue())

			})

			It("reads the app and domain from its requirements", func() {
Example #2
0
			Expect(testcmd.CommandDidPassRequirements).To(BeFalse())
		})
	})

	Context("when the user is logged in", func() {
		BeforeEach(func() {
			domain := models.DomainFields{Guid: "my-domain-guid", Name: "example.com"}
			route := models.Route{Guid: "my-route-guid", Host: "foo", Domain: domain}

			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() {
			runCommand("-n", "my-host", "my-app", "my-domain.com")

			Expect(ui.Outputs).To(ContainSubstrings(
				[]string{"Adding route", "foo.example.com", "my-app", "my-org", "my-space", "my-user"},
				[]string{"OK"},
			))

			Expect(routeRepo.BoundRouteGuid).To(Equal("my-route-guid"))
			Expect(routeRepo.BoundAppGuid).To(Equal("my-app-guid"))
			Expect(testcmd.CommandDidPassRequirements).To(BeTrue())
			Expect(requirementsFactory.ApplicationName).To(Equal("my-app"))