ui.Inputs = []string{"y"} runCommand("my-group") Expect(securityGroupRepo.ReadArgsForCall(0)).To(Equal("my-group")) Expect(securityGroupRepo.DeleteArgsForCall(0)).To(Equal("group-guid")) Expect(ui.Prompts).To(ContainSubstrings( []string{"Really delete the security group", "my-group"}, )) }) It("should not delete when user passes 'n' to prompt", func() { ui.Inputs = []string{"n"} runCommand("my-group") Expect(securityGroupRepo.ReadCallCount()).To(Equal(0)) Expect(securityGroupRepo.DeleteCallCount()).To(Equal(0)) Expect(ui.Prompts).To(ContainSubstrings( []string{"Really delete the security group", "my-group"}, )) }) }) It("tells the user what it's about to do", func() { runCommand("-f", "my-group") Expect(ui.Outputs()).To(ContainSubstrings( []string{"Deleting", "security group", "my-group", "my-user"}, []string{"OK"}, )) })