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);
        }
Esempio n. 6
0
        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");
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
0
        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);
        }
Esempio n. 11
0
        public void SaveVersion()
        {
            ContentItem item = CreateOneItem <PersistableItem1>(0, "root", null);

            persister.Save(item);
            ContentItem version = versioner.AddVersion(item);

            Assert.AreEqual(item, version.VersionOf.Value);
        }