public void It_Updates_The_Gaming_Group()
        {
            //--Arrange
            SetupUserGamingGroups();

            var request = new GamingGroupEditRequest
            {
                PublicDescription = "Description",
                Website           = "Website",
                GamingGroupName   = "some gaming group name",
                GamingGroupId     = _expectedGamingGroupId,
                Active            = true
            };

            //--Act
            autoMocker.ClassUnderTest.UpdatePublicGamingGroupDetails(request, currentUser);

            //--Assert
            autoMocker.Get <IDataContext>().FindById <GamingGroup>(currentUser.CurrentGamingGroupId);
            autoMocker.Get <IDataContext>().AssertWasCalled(x => x.Save(Arg <GamingGroup> .Matches(
                                                                            gamingGroup => gamingGroup.Name == request.GamingGroupName &&
                                                                            gamingGroup.PublicDescription == request.PublicDescription &&
                                                                            gamingGroup.PublicGamingGroupWebsite == request.Website.ToString() &&
                                                                            gamingGroup.Active == request.Active),
                                                                        Arg <ApplicationUser> .Is.Same(currentUser)));
        }
Exemplo n.º 2
0
        public virtual ActionResult Edit(GamingGroupEditRequest request, ApplicationUser currentUser)
        {
            if (ModelState.IsValid)
            {
                this.gamingGroupSaver.UpdatePublicGamingGroupDetails(request, currentUser);

                return(RedirectToAction(MVC.GamingGroup.Index()));
            }

            return(this.Edit(request.GamingGroupId));
        }
Exemplo n.º 3
0
        [UserContext(RequiresGamingGroup = false)] //--a user with only inactive gaming groups should be able to reactivate one
        public virtual ActionResult Edit(GamingGroupEditRequest request, ApplicationUser currentUser)
        {
            if (ModelState.IsValid)
            {
                _gamingGroupSaver.UpdatePublicGamingGroupDetails(request, currentUser);

                return(MakeRedirectResultToManageAccountPageGamingGroupsTab(AccountController.ManageMessageId.GamingGroupSaved));
            }

            return(Edit(request.GamingGroupId, currentUser));
        }
Exemplo n.º 4
0
        public void ItUpdatesGamingGroupPublicDetails()
        {
            var request = new GamingGroupEditRequest
            {
                PublicDescription = "Description",
                Website           = "http://Website.com"
            };
            var httpStatusCodeResult = autoMocker.ClassUnderTest.Edit(request, currentUser) as HttpStatusCodeResult;

            autoMocker.Get <IGamingGroupSaver>().AssertWasCalled(x => x.UpdatePublicGamingGroupDetails(request, currentUser));
        }
        public void It_Updates_Gaming_Group_Public_Details_And_Redirects_Back_To_Gaming_Group_Listing()
        {
            var expectedResult = new RedirectResult("some url");

            autoMocker.ClassUnderTest.Expect(mock => mock.MakeRedirectResultToManageAccountPageGamingGroupsTab())
            .Return(expectedResult);
            var request = new GamingGroupEditRequest();

            var actualResult = autoMocker.ClassUnderTest.Edit(request, currentUser);

            autoMocker.Get <IGamingGroupSaver>().AssertWasCalled(x => x.UpdatePublicGamingGroupDetails(request, currentUser));
            actualResult.ShouldBe(expectedResult);
        }
Exemplo n.º 6
0
        public GamingGroup UpdatePublicGamingGroupDetails(GamingGroupEditRequest request, ApplicationUser currentUser)
        {
            var gamingGroup = dataContext.FindById <GamingGroup>(request.GamingGroupId);

            gamingGroup.PublicGamingGroupWebsite = request.Website;
            gamingGroup.PublicDescription        = request.PublicDescription;
            gamingGroup.Name = request.GamingGroupName;

            gamingGroup = dataContext.Save(gamingGroup, currentUser);
            dataContext.CommitAllChanges();

            eventTracker.TrackGamingGroupUpdate(currentUser);

            return(gamingGroup);
        }
Exemplo n.º 7
0
        private void SwitchUsersCurrentGamingGroupIfNecessary(GamingGroupEditRequest request)
        {
            if (request.Active)
            {
                return;
            }
            var users = _dataContext.GetQueryable <ApplicationUser>()
                        .Where(x => x.CurrentGamingGroupId == request.GamingGroupId)
                        .ToList();

            foreach (var user in users)
            {
                _gamingGroupContextSwitcher.EnsureContextIsValid(user);
            }
        }
        public void It_Switches_The_Gaming_Group_Of_Each_User_Who_Had_Their_Current_Gaming_Group_Set_To_This_One()
        {
            //--arrange
            var expectedUser1 = new ApplicationUser
            {
                Id = "user id 1",
                CurrentGamingGroupId = _expectedGamingGroupId
            };
            var expectedUser2 = new ApplicationUser
            {
                Id = "user id 2",
                CurrentGamingGroupId = _expectedGamingGroupId
            };

            var usersWithThisAsCurrentGamingGroup = new List <ApplicationUser>
            {
                expectedUser1,
                expectedUser2,
                //--record that doesn't match the gaming group
                new ApplicationUser
                {
                    CurrentGamingGroupId = -1
                }
            }.AsQueryable();

            autoMocker.Get <IDataContext>().Expect(mock => mock.GetQueryable <ApplicationUser>()).Return(usersWithThisAsCurrentGamingGroup);

            var request = new GamingGroupEditRequest
            {
                GamingGroupId = _expectedGamingGroupId,
                Active        = false
            };

            //--act
            autoMocker.ClassUnderTest.UpdatePublicGamingGroupDetails(request, currentUser);

            //--assert
            autoMocker.Get <IGamingGroupContextSwitcher>().AssertWasCalled(mock => mock.EnsureContextIsValid(expectedUser1));
            autoMocker.Get <IGamingGroupContextSwitcher>().AssertWasCalled(mock => mock.EnsureContextIsValid(expectedUser2));
        }