Describe("Execute", func() { Context("when router-group flag is set", func() { BeforeEach(func() { routerGroups = models.RouterGroups{ models.RouterGroup{ Name: "router-group-name", Guid: "router-group-guid", Type: "router-group-type", }, } flagContext.Parse("domain-name", "--router-group", "router-group-name") }) It("tries to retrieve the router group", func() { cmd.Execute(flagContext) Expect(routingApiRepo.ListRouterGroupsCallCount()).To(Equal(1)) }) It("prints a message", func() { cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings( []string{"Creating shared domain domain-name"}, )) }) It("tries to create a shared domain with router group", func() { cmd.Execute(flagContext) Expect(domainRepo.CreateSharedDomainCallCount()).To(Equal(1)) domainName, routerGroupGuid := domainRepo.CreateSharedDomainArgsForCall(0) Expect(domainName).To(Equal("domain-name")) Expect(routerGroupGuid).To(Equal("router-group-guid"))