factory = &fakerequirements.FakeFactory{} loginRequirement = &passingRequirement{Name: "login-requirement"} factory.NewLoginRequirementReturns(loginRequirement) domainRequirement = &fakerequirements.FakeDomainRequirement{} factory.NewDomainRequirementReturns(domainRequirement) fakeDomain = models.DomainFields{ Guid: "fake-domain-guid", Name: "fake-domain-name", } domainRequirement.GetDomainReturns(fakeDomain) serviceInstanceRequirement = &fakerequirements.FakeServiceInstanceRequirement{} factory.NewServiceInstanceRequirementReturns(serviceInstanceRequirement) }) Describe("Requirements", func() { Context("when not provided exactly two args", func() { BeforeEach(func() { flagContext.Parse("domain-name") }) It("fails with usage", func() { Expect(func() { cmd.Requirements(factory, flagContext) }).To(Panic()) Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"Incorrect Usage. Requires DOMAIN and SERVICE_INSTANCE as arguments"}, )) })