public void TestScenarioGroupChangeParentForUnapproved()
        {
            ScenarioGroup main;
            ScenarioGroupDetail detail;
            ScenarioGroup newParent;

            int groupId = 2;
            int parentId = 4;

            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

                ScenarioGroupRepository repository = new ScenarioGroupRepository(context);

                main = repository.ScenarioGroups().Where(g => g.ScenarioGroupID == groupId).FirstOrDefault();
                detail = main.ScenarioGroupDetail;
                newParent = repository.ScenarioGroups().Where(g => g.ScenarioGroupID == parentId).FirstOrDefault();

                //make sure detail is not approved
                Assert.AreEqual(EntityStatus.Unapproved, detail.Status);

                Assert.AreEqual(true, repository.Move(detail, newParent));

                repository.SaveChanges();

            }

            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

                ScenarioGroupRepository repository = new ScenarioGroupRepository(context);

                main = repository.ScenarioGroups().Where(g => g.ScenarioGroupID == groupId).FirstOrDefault();
                detail = main.ScenarioGroupDetail;

                Assert.AreEqual(EntityStatus.Unapproved, detail.Status);
                Assert.AreEqual(parentId, detail.ScenarioGroupParentID);
                Assert.AreEqual(context.UserName, detail.ModifiedBy);

            }
        }
        public void TestScenarioGroupChangeParentFailed()
        {
            int groupId = 1;
            int parentId = 4;
            ScenarioGroup item;
            ScenarioGroup newParent;

            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

                ScenarioGroupRepository repository = new ScenarioGroupRepository(context);

                item = repository.ScenarioGroups().Where(g => g.ScenarioGroupID == groupId).FirstOrDefault();
                newParent = repository.ScenarioGroups().Where(g => g.ScenarioGroupID == parentId).FirstOrDefault();

                Assert.AreEqual(false, repository.Move(item.ScenarioGroupDetail, newParent));

                repository.SaveChanges();

                Assert.AreNotEqual(newParent.ScenarioGroupID, item.ScenarioGroupDetail.ScenarioGroupParentID);

            }
        }