public void CanGetById() { var provider = new PlanStorageProviderMonitor(GenerateRefTree()); var repository = new PlanRepository(new PlanStorage(new PlanCache(new ExpirationStrategyMock()), provider)); Assert.AreEqual(NewGuid(2), repository.GetById <ActivityDO>(NewGuid(2)).Id); }
public void CanPersistPropertyChanges() { var provider = new PlanStorageProviderMonitor(GenerateRefTree()); var cache = new PlanCache(new ExpirationStrategyMock()); var repository = new PlanRepository(new PlanStorage(cache, provider)); repository.GetById <ActivityDO>(NewGuid(2)).Label = "newName"; repository.GetById <ActivityDO>(NewGuid(3)).Label = "newName3"; repository.SaveChanges(); repository = new PlanRepository(new PlanStorage(cache, provider)); Assert.AreEqual("newName", repository.GetById <ActivityDO>(NewGuid(2)).Label, "Labels are different"); Assert.AreEqual("newName3", repository.GetById <ActivityDO>(NewGuid(3)).Label, "Labels are different"); }
public void CanUpdateProperties() { var provider = new PlanStorageProviderMonitor(GenerateRefTree()); var repository = new PlanRepository(new PlanStorage(new PlanCache(new ExpirationStrategyMock()), provider)); var expectedChanges = new ExpectedChanges { Updates = { new ExpectedObjectChange(NewGuid(2), "Label", "newName"), new ExpectedObjectChange(NewGuid(3), "Label", "newName3") } }; repository.GetById <ActivityDO>(NewGuid(2)).Label = "newName"; repository.GetById <ActivityDO>(NewGuid(3)).Label = "newName3"; repository.SaveChanges(); ValidateChanges(expectedChanges, provider.SubmittedChanges); }
public void CanUpdateStructure() { var provider = new PlanStorageProviderMonitor(GenerateRefTree()); var repository = new PlanRepository(new PlanStorage(new PlanCache(new ExpirationStrategyMock()), provider)); var expectedChanges = new ExpectedChanges { Inserted = { NewGuid(4) }, Deleted = { NewGuid(3) } }; repository.GetById <ActivityDO>(NewGuid(3)).Label = "newName"; repository.GetById <ActivityDO>(NewGuid(3)).RemoveFromParent(); repository.GetById <ActivityDO>(NewGuid(1)).ChildNodes.Add(new ActivityDO { Id = NewGuid(4), Label = "Base4", }); repository.SaveChanges(); ValidateChanges(expectedChanges, provider.SubmittedChanges); }