예제 #1
0
        public void SetUp()
        {
            dataContextMock          = MockRepository.GenerateMock <IDataContext>();
            emailServiceMock         = MockRepository.GenerateMock <IIdentityMessageService>();
            configurationManagerMock = MockRepository.GenerateMock <IConfigurationManager>();
            playerInvitation         = new PlayerInvitation
            {
                CustomEmailMessage = "custom message",
                EmailSubject       = "email subject",
                InvitedPlayerEmail = "player email",
                InvitedPlayerId    = 1
            };
            currentUser = new ApplicationUser
            {
                CurrentGamingGroupId = 15,
                UserName             = "******"
            };
            player = new Player
            {
                Id            = playerInvitation.InvitedPlayerId,
                GamingGroupId = 135
            };
            gamingGroup = new GamingGroup
            {
                Id   = currentUser.CurrentGamingGroupId,
                Name = "jake's Gaming Group"
            };
            gamingGroupInvitation = new GamingGroupInvitation
            {
                Id = Guid.NewGuid()
            };

            dataContextMock.Expect(mock => mock.FindById <GamingGroup>(currentUser.CurrentGamingGroupId))
            .Return(gamingGroup);

            List <ApplicationUser> applicationUsers = new List <ApplicationUser>
            {
                new ApplicationUser
                {
                    Email = playerInvitation.InvitedPlayerEmail,
                    Id    = existingUserId
                }
            };

            dataContextMock.Expect(mock => mock.GetQueryable <ApplicationUser>())
            .Return(applicationUsers.AsQueryable());

            dataContextMock.Expect(mock => mock.Save <GamingGroupInvitation>(Arg <GamingGroupInvitation> .Is.Anything, Arg <ApplicationUser> .Is.Anything))
            .Return(gamingGroupInvitation);

            configurationManagerMock.Expect(mock => mock.AppSettings[PlayerInviter.APP_SETTING_URL_ROOT])
            .Return(rootUrl);

            emailServiceMock.Expect(mock => mock.SendAsync(Arg <IdentityMessage> .Is.Anything))
            .Return(Task.FromResult <object>(null));

            playerInviter = new PlayerInviter(dataContextMock, emailServiceMock, configurationManagerMock);
        }