Expect(fakeRunningSecurityGroupRepo.AddToRunningSetArgsForCall(0)).To(Equal("being-a-guid")) }) Context("when adding the security group to the running set fails", func() { BeforeEach(func() { fakeRunningSecurityGroupRepo.AddToRunningSetReturns(errors.New("WOAH. I know kung fu")) }) It("fails and describes the failure to the user", func() { Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, []string{"WOAH. I know kung fu"}, )) }) }) Context("when the security group with the given name cannot be found", func() { BeforeEach(func() { fakeSecurityGroupRepo.ReadReturns(models.SecurityGroup{}, errors.New("Crème insufficiently brûlée'd")) }) It("fails and tells the user that the security group does not exist", func() { Expect(fakeRunningSecurityGroupRepo.AddToRunningSetCallCount()).To(Equal(0)) Expect(ui.Outputs).To(ContainSubstrings( []string{"FAILED"}, )) }) }) }) })