} runCommand := func(args ...string) bool { return testcmd.RunCLICommand("create-user", args, requirementsFactory, updateCommandDependency, false, ui) } It("creates a user", func() { runCommand("my-user", "my-password") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Creating user", "my-user"}, []string{"OK"}, []string{"TIP"}, )) userName, password := userRepo.CreateArgsForCall(0) Expect(userName).To(Equal("my-user")) Expect(password).To(Equal("my-password")) }) Context("when creating the user returns an error", func() { It("prints a warning when the given user already exists", func() { userRepo.CreateReturns(errors.NewModelAlreadyExistsError("User", "my-user")) runCommand("my-user", "my-password") Expect(ui.WarnOutputs).To(ContainSubstrings( []string{"already exists"}, )) Expect(ui.Outputs()).ToNot(ContainSubstrings([]string{"FAILED"}))