Expect(domainRepo.CreateSharedDomainCallCount()).To(Equal(1))
				domainName, routerGroupGUID := domainRepo.CreateSharedDomainArgsForCall(0)
				Expect(domainName).To(Equal("domain-name"))
				Expect(routerGroupGUID).To(Equal("router-group-guid"))
			})

			It("prints success message", func() {
				cmd.Execute(flagContext)
				Expect(ui.Outputs).To(ContainSubstrings(
					[]string{"OK"},
				))
			})

			Context("when listing router groups returns an error", func() {
				BeforeEach(func() {
					routingAPIRepo.ListRouterGroupsReturns(errors.New("router-group-error"))
				})

				It("fails with error message", func() {
					Expect(func() { cmd.Execute(flagContext) }).To(Panic())
					Expect(ui.Outputs).To(ContainSubstrings(
						[]string{"FAILED"},
						[]string{"router-group-error"},
					))
				})
			})

			Context("when router group is not found", func() {
				BeforeEach(func() {
					routerGroups = models.RouterGroups{}
				})
Beispiel #2
0
		})

		Context("when there are no router groups", func() {
			It("tells the user when no router groups were found", func() {
				Expect(err).NotTo(HaveOccurred())

				Expect(ui.Outputs()).To(ContainSubstrings(
					[]string{"Getting router groups"},
					[]string{"No router groups found"},
				))
			})
		})

		Context("when there is an error listing router groups", func() {
			BeforeEach(func() {
				routingAPIRepo.ListRouterGroupsReturns(errors.New("BOOM"))
			})

			It("returns an error to the user", func() {
				Expect(ui.Outputs()).To(ContainSubstrings(
					[]string{"Getting router groups"},
				))

				Expect(err).To(HaveOccurred())
				errStr := err.Error()
				Expect(errStr).To(ContainSubstring("BOOM"))
				Expect(errStr).To(ContainSubstring("Failed fetching router groups"))
			})
		})
	})
})