) BeforeEach(func() { userRepo = new(apifakes.FakeUserRepository) }) Describe("Execute", func() { Context("when wantGUID is true", func() { BeforeEach(func() { userRequirement = requirements.NewUserRequirement("the-username", userRepo, true) }) It("tries to find the user in CC", func() { userRequirement.Execute() Expect(userRepo.FindByUsernameCallCount()).To(Equal(1)) Expect(userRepo.FindByUsernameArgsForCall(0)).To(Equal("the-username")) }) Context("when the call to find the user succeeds", func() { var user models.UserFields BeforeEach(func() { user = models.UserFields{Username: "******", GUID: "the-guid"} userRepo.FindByUsernameReturns(user, nil) }) It("stores the user that was found", func() { userRequirement.Execute() Expect(userRequirement.GetUser()).To(Equal(user)) }) It("does not error", func() {