Пример #1
0
        public void Drafts_AreNotPublished_WhenRestored()
        {
            TrashHandler th = CreateTrashHandler();

            item.State = ContentState.Draft;

            th.Throw(item);

            th.Restore(item);

            item.State.ShouldBe(ContentState.Draft);
        }
Пример #2
0
        public void ChildrenOf_ThrownItem_AreNoLongerPublished()
        {
            TrashHandler th = CreateTrashHandler();

            var child1 = CreateItem <ThrowableItem>(5, "child1", item);
            var child2 = CreateItem <ThrowableItem>(6, "child2", child1);

            th.Throw(item);

            child1.State.ShouldBe(ContentState.Deleted);
            child2.State.ShouldBe(ContentState.Deleted);
        }
Пример #3
0
        public void ChildrenOf_RestoredItems_AreUnExpired()
        {
            TrashHandler th = CreateTrashHandler();

            var child1 = CreateItem <ThrowableItem>(5, "child1", item);
            var child2 = CreateItem <ThrowableItem>(6, "child2", child1);

            th.Throw(item);

            th.Restore(item);

            Assert.That(child1.Expires, Is.Null);
            Assert.That(child2.Expires, Is.Null);
        }
Пример #4
0
        public void ChildrenOf_ThrownItem_AreExpired()
        {
            TrashHandler th = CreateTrashHandler();

            var child1 = CreateItem <ThrowableItem>(5, "child1", item);
            var child2 = CreateItem <ThrowableItem>(6, "child2", child1);

            th.Throw(item);

            Assert.That(child1.Expires, Is.Not.Null);
            Assert.That(child2.Expires, Is.Not.Null);
            Assert.That(child1.Expires, Is.GreaterThan(DateTime.Now.AddSeconds(-10)));
            Assert.That(child2.Expires, Is.GreaterThan(DateTime.Now.AddSeconds(-10)));
        }
Пример #5
0
        public void DraftChildren_AreNotPublished_WhenRestored()
        {
            TrashHandler th = CreateTrashHandler();

            var child1 = CreateItem <ThrowableItem>(5, "child1", item);

            child1.State = ContentState.Draft;

            th.Throw(item);

            th.Restore(item);

            child1.State.ShouldBe(ContentState.Draft);
        }
Пример #6
0
        public void ChildrenOf_RestoredItems_AreUnExpired()
        {
            TrashHandler th = CreateTrashHandler();

            var child1 = CreateItem <ThrowableItem>(5, "child1", item);
            var child2 = CreateItem <ThrowableItem>(6, "child2", child1);

            th.Throw(item);

            th.Restore(item);

            child1.State.ShouldBe(ContentState.Published);
            child2.State.ShouldBe(ContentState.Published);
        }
Пример #7
0
        public void ThrashHandler_Throw_CanBeCancelled()
        {
            var definitions = mocks.Stub<IDefinitionManager>();

            IPersister persister = mocks.StrictMock<IPersister>();
            Expect.Call(persister.Get(1)).Return(root).Repeat.Any();
            Expect.Call(delegate { persister.Save(item); }).Repeat.Never();

            mocks.ReplayAll();

            var host = new Host(webContext, 1, 1);
            TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository<TrashContainerItem>(persister, null, host, null), new StateChanger()) { UseNavigationMode = true };

            th.ItemThrowing += delegate(object sender, CancellableItemEventArgs args) { args.Cancel = true; };
            th.Throw(item);

            mocks.VerifyAll();
        }
Пример #8
0
        public void ThrownItem_IsMoved_ToTrashcan()
        {
            var activator = new ContentActivator(null, null, null);

            IPersister persister = mocks.StrictMock <IPersister>();

            Expect.Call(persister.Get(1)).Return(root).Repeat.Any();
            Expect.Call(delegate { persister.Save(item); }).Repeat.Any();

            mocks.ReplayAll();

            TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository <TrashContainerItem>(persister, null, host, activator), new StateChanger())
            {
                UseNavigationMode = true
            };

            th.Throw(item);

            Assert.AreEqual(trash, item.Parent);

            mocks.VerifyAll();
        }
Пример #9
0
        public void ThrashHandler_Throw_CanBeCancelled()
        {
            var definitions = mocks.Stub <IDefinitionManager>();

            IPersister persister = mocks.StrictMock <IPersister>();

            Expect.Call(persister.Get(1)).Return(root).Repeat.Any();
            Expect.Call(delegate { persister.Save(item); }).Repeat.Never();

            mocks.ReplayAll();

            var          host = new Host(webContext, 1, 1);
            TrashHandler th   = new TrashHandler(persister, null, null, new ContainerRepository <TrashContainerItem>(persister, null, host, null), new StateChanger())
            {
                UseNavigationMode = true
            };

            th.ItemThrowing += delegate(object sender, CancellableItemEventArgs args) { args.Cancel = true; };
            th.Throw(item);

            mocks.VerifyAll();
        }
Пример #10
0
        public void ThrashHandler_Throw_WillInvokeEvents()
        {
            var activator = new ContentActivator(null, null, null);

            IPersister persister = mocks.StrictMock<IPersister>();
            Expect.Call(persister.Get(1)).Return(root).Repeat.Any();
            Expect.Call(delegate { persister.Save(item); }).Repeat.Any();

            mocks.ReplayAll();

            var host = new Host(webContext, 1, 1);
            TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository<TrashContainerItem>(persister, null, host, activator), new StateChanger()) { UseNavigationMode = true };

            bool throwingWasInvoked = false;
            bool throwedWasInvoked = false;
            th.ItemThrowing += delegate { throwingWasInvoked = true; };
            th.ItemThrowed += delegate { throwedWasInvoked = true; };
            th.Throw(item);

            Assert.That(throwingWasInvoked);
            Assert.That(throwedWasInvoked);

            mocks.VerifyAll();
        }
Пример #11
0
        public void ThrownItem_IsMoved_ToTrashcan()
        {
            var activator = new ContentActivator(null, null, null);

            IPersister persister = mocks.StrictMock<IPersister>();
            Expect.Call(persister.Get(1)).Return(root).Repeat.Any();
            Expect.Call(delegate { persister.Save(item); }).Repeat.Any();

            mocks.ReplayAll();

            TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository<TrashContainerItem>(persister, null, host, activator), new StateChanger()) { UseNavigationMode = true };
            th.Throw(item);

            Assert.AreEqual(trash, item.Parent);

            mocks.VerifyAll();
        }