Expect(fakeRunningSecurityGroupRepo.BindToRunningSetArgsForCall(0)).To(Equal("being-a-guid")) }) Context("when binding the security group to the running set fails", func() { BeforeEach(func() { fakeRunningSecurityGroupRepo.BindToRunningSetReturns(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.BindToRunningSetCallCount()).To(Equal(0)) Expect(ui.Outputs()).To(ContainSubstrings( []string{"FAILED"}, )) }) }) }) })