public void TeamUpdateCommandHandlerTest_Handle()
        {
            var  originalValue = FakeObjects.TestTeamWithId();
            var  user          = FakeObjects.TestUserWithId();
            Team newValue;

            var command = new TeamUpdateCommand()
            {
                Description = FakeValues.Description.PrependWith("new"),
                Id          = originalValue.Id,
                Name        = FakeValues.Name.PrependWith("new"),
                UserId      = user.Id
            };

            using (var session = _store.OpenSession())
            {
                session.Store(user);
                session.Store(originalValue);

                var commandHandler = new TeamUpdateCommandHandler(session);

                commandHandler.Handle(command);

                session.SaveChanges();

                newValue = session.Load <Team>(originalValue.Id);
            }

            Assert.IsNotNull(newValue);
            Assert.AreEqual(command.Description, newValue.Description);
            Assert.AreEqual(command.Name, newValue.Name);
            Assert.AreEqual(command.Website, newValue.Website);
        }
        public void TeamUpdateCommandHandlerTest_Handle()
        {
            var originalValue = FakeObjects.TestTeamWithId();
            var user = FakeObjects.TestUserWithId();
            Team newValue;

            var command = new TeamUpdateCommand()
            {
                Description = FakeValues.Description.PrependWith("new"),
                Id = originalValue.Id,
                Name = FakeValues.Name.PrependWith("new"),
                UserId = user.Id
            };

            using (var session = _store.OpenSession())
            {
                session.Store(user);
                session.Store(originalValue);

                var commandHandler = new TeamUpdateCommandHandler(session);

                commandHandler.Handle(command);

                session.SaveChanges();

                newValue = session.Load<Team>(originalValue.Id);
            }

            Assert.IsNotNull(newValue);
            Assert.AreEqual(command.Description, newValue.Description);
            Assert.AreEqual(command.Name, newValue.Name);
            Assert.AreEqual(command.Website, newValue.Website);
        }
        /// <summary>
        ///     Updates Enterprise Team
        /// </summary>
        /// <param name="team">Enterprise Team</param>
        /// <returns>Updated Team</returns>
        public async Task <EnterpriseTeam> UpdateTeam(EnterpriseTeam team)
        {
            if (string.IsNullOrEmpty(team.Uid))
            {
                return(await CreateTeam(team));
            }

            if (!TryGetTeam(team.Uid, out _))
            {
                throw new EnterpriseException($"Team UID {team.Uid} not found in enterprise");
            }

            var rq = new TeamUpdateCommand
            {
                TeamUid       = team.Uid,
                TeamName      = team.Name,
                RestrictEdit  = team.RestrictEdit,
                RestrictShare = team.RestrictSharing,
                RestrictView  = team.RestrictView,
                NodeId        = team.ParentNodeId
            };
            await Auth.ExecuteAuthCommand(rq);

            await PopulateEnterprise();

            TryGetTeam(team.Uid, out team);
            return(team);
        }