public void MovingParts_OnDraft_UsesSameVersion() { var part = CreateOneItem <Items.DataItem>(0, "part", root); part.ZoneName = "ZoneOne"; // name = id here - part.Name.ShouldBe(null); var version = versions.AddVersion(root, asPreviousVersion: false); part = version.Children[0] as Items.DataItem; versionRepository.GetVersions(root).Count().ShouldBe(1); version.State.ShouldBe(ContentState.Draft); part.State.ShouldBe(ContentState.Draft); part.ID.ShouldBe(0); request["item"] = part.Path; request["versionKey"] = part.GetVersionKey(); request["versionIndex"] = part.VersionIndex.ToString(); request["below"] = root.Path; request["zone"] = "ZoneTwo"; var response = mover.HandleRequest(request); var draft = versionRepository.GetVersions(root).Single(); draft.Version.Children.Single().ZoneName.ShouldBe("ZoneTwo"); }
public void AutoImplementedProperties_AreMaintained_OnPeristedParts() { var master = CreateOneItem <NormalPage>(0, "master", null); persister.Save(master); var part = CreateOneItem <NormalItem>(0, "part", master); part.WidthType = WidthType.Pixels; part.Width = 123; part.ZoneName = "TheZone"; persister.Save(part); persister.Dispose(); master = (NormalPage)persister.Get(master.ID); var manager = new VersionManager(repository, persister.Repository, new StateChanger(), new N2.Configuration.EditSection()); var version = (NormalPage)manager.AddVersion(master, asPreviousVersion: false); persister.Dispose(); master = (NormalPage)persister.Get(master.ID); version = (NormalPage)manager.GetVersion(master, version.VersionIndex); version.Children.OfType <NormalItem>().Single().WidthType.ShouldBe(WidthType.Pixels); version.Children.OfType <NormalItem>().Single().Width.ShouldBe(123); }
public void Unpresisted_ChildParts_AreMainteinedWhenRestoringVersions() { var master = CreateOneItem <NormalPage>(0, "master", null); persister.Save(master); var part = CreateOneItem <NormalItem>(0, "part", master); part.ZoneName = "TheZone"; var part2 = CreateOneItem <NormalItem>(0, "part2", part); part2.ZoneName = "TheZone"; var manager = new VersionManager(repository, persister.Repository, new StateChanger(), new N2.Configuration.EditSection()); var version = manager.AddVersion(master, asPreviousVersion: false); persister.Dispose(); master = (NormalPage)persister.Get(master.ID); version = manager.GetVersion(master, version.VersionIndex); version.Children.Single().Name.ShouldBe("part"); version.Children.Single().Children.Single().Name.ShouldBe("part2"); }
public void DraftsCanBeFound_ForSingleItem() { var master = CreateOneItem <NormalPage>(0, "pageX", null); persister.Save(master); var manager = new VersionManager(repository, persister.Repository, new StateChanger(), new N2.Configuration.EditSection()); manager.AddVersion(master, asPreviousVersion: false); drafts.FindDrafts().Single().Master.ID.ShouldBe(master.ID); }
public void SavedAsPrevious_IsNotFoundAsDraft() { var master = CreateOneItem <NormalPage>(0, "pageX", null); persister.Save(master); var manager = new VersionManager(repository, persister.Repository, new StateChanger(), new N2.Configuration.EditSection()); manager.AddVersion(master, asPreviousVersion: true); drafts.FindDrafts().Any().ShouldBe(false); }
public void MovingParts_OnDraft_UsesSameVersion() { var part = CreateOneItem <Items.DataItem>(0, "part", root); part.ZoneName = "ZoneOne"; var version = versions.AddVersion(root, asPreviousVersion: false); part = version.Children[0] as Items.DataItem; versionRepository.GetVersions(root).Count().ShouldBe(1); request[PathData.ItemQueryKey] = part.Path; request[PathData.VersionKeyQueryKey] = part.GetVersionKey(); request[PathData.VersionIndexQueryKey] = part.VersionIndex.ToString(); request["below"] = root.Path; request["zone"] = "ZoneTwo"; var response = mover.HandleRequest(request); var draft = versionRepository.GetVersions(root).Single(); versionRepository.DeserializeVersion(draft).Children.Single().ZoneName.ShouldBe("ZoneTwo"); }
public void CopyingParts_OnDraft_UsesSameVersion() { var part = CreateOneItem <Items.DataItem>(0, "part", root); part.ZoneName = "ZoneOne"; var version = versions.AddVersion(root, asPreviousVersion: false); part = version.Children[0] as Items.DataItem; versionRepository.GetVersions(root).Count().ShouldBe(1); request["item"] = part.Path; request["versionKey"] = part.GetVersionKey(); request["versionIndex"] = part.VersionIndex.ToString(); request["below"] = root.Path; request["zone"] = "ZoneTwo"; var response = copyer.HandleRequest(request); var draft = versionRepository.GetVersions(root).Single(); draft.Version.Children.Any(c => c.ZoneName == "ZoneOne").ShouldBe(true); draft.Version.Children.Any(c => c.ZoneName == "ZoneTwo").ShouldBe(true); }
public void AncestralTrail_IsUpdated_WhenUsing_VersioningManager() { PersistableItem root = CreateOneItem <PersistableItem>(0, "root", null); PersistableItem one = CreateOneItem <PersistableItem>(0, "one", root); persister.Repository.SaveOrUpdate(root, one); VersionManager vm = new VersionManager(TestSupport.CreateVersionRepository(typeof(PersistableItem)), persister.Repository, new N2.Edit.Workflow.StateChanger(), new N2.Configuration.EditSection()); var version = vm.AddVersion(one); one.Name += "2"; persister.Save(one); Assert.That(version.AncestralTrail, Is.EqualTo("/")); Assert.That(one.AncestralTrail, Is.EqualTo("/" + root.ID + "/")); }
public void Version_GetsParent_FromMasterVersion() { var parent = CreateOneItem <NormalPage>(0, "parent", null); persister.Save(parent); var master = CreateOneItem <NormalPage>(0, "master", parent); persister.Save(master); var manager = new VersionManager(repository, persister.Repository, new StateChanger(), new N2.Configuration.EditSection()); var versionIndex = manager.AddVersion(master, asPreviousVersion: false).VersionIndex; persister.Dispose(); var version = repository.GetVersion(master, versionIndex).Version; version.Parent.ShouldBe(parent); }
public void AutoImplementedProperties_AreMaintained() { var master = CreateOneItem <NormalPage>(0, "master", null); master.WidthType = WidthType.Pixels; master.Width = 123; persister.Save(master); var manager = new VersionManager(repository, persister.Repository, new StateChanger(), new N2.Configuration.EditSection()); var version = (NormalPage)manager.AddVersion(master, asPreviousVersion: false); persister.Dispose(); master = (NormalPage)persister.Get(master.ID); version = (NormalPage)manager.GetVersion(master, version.VersionIndex); version.WidthType.ShouldBe(WidthType.Pixels); version.Width.ShouldBe(123); }
public void SaveVersion() { ContentItem item = CreateOneItem <PersistableItem1>(0, "root", null); persister.Save(item); ContentItem version = versioner.AddVersion(item); Assert.AreEqual(item, version.VersionOf.Value); }