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); } }