public void NonThrowableItem_IsNotMovedToTrashcan_LegacyAttribute() { IDefinitionManager definitions = mocks.Stub <IDefinitionManager>(); IPersister persister = mocks.Stub <IPersister>(); Expect.Call(persister.Get(1)).Return(root).Repeat.Any(); persister.ItemDeleting += null; IEventRaiser invokeDelete = LastCall.IgnoreArguments().GetEventRaiser(); mocks.ReplayAll(); var host = new Host(webContext, 1, 1); TrashHandler th = new TrashHandler(persister, null, null, new ContainerRepository <TrashContainerItem>(persister, null, host, null)) { UseNavigationMode = true }; DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); CancellableItemEventArgs deleteArgs = new CancellableItemEventArgs(nonThrowable2); invokeDelete.Raise(persister, deleteArgs); Assert.That(deleteArgs.Cancel, Is.False); Assert.That(trash.Children.Count, Is.EqualTo(0)); }
public void DeletedItem_IsThrownInTrash() { persister.ItemDeleting += null; IEventRaiser invokeDelete = LastCall.IgnoreArguments().GetEventRaiser(); persister.ItemCopied += null; LastCall.IgnoreArguments(); persister.ItemMoving += null; LastCall.IgnoreArguments(); TrashHandler th = mocks.StrictMock <TrashHandler>(persister, null, null, new ContainerRepository <TrashContainerItem>(persister, null, new Host(webContext, 1, 1), null)); th.UseNavigationMode = true; Expect.Call(delegate { th.Throw(item); }); mocks.ReplayAll(); DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); CancellableItemEventArgs deleteArgs = new CancellableItemEventArgs(item); invokeDelete.Raise(persister, deleteArgs); deleteArgs.FinalAction(deleteArgs.AffectedItem); mocks.VerifyAll(); }
public void Item_MovedIntoTrash_IsNeutralized() { persister.ItemDeleting += null; LastCall.IgnoreArguments(); persister.ItemCopied += null; LastCall.IgnoreArguments(); persister.ItemMoving += null; IEventRaiser invokeMoved = LastCall.IgnoreArguments().GetEventRaiser(); TrashHandler th = mocks.StrictMock <TrashHandler>(persister, null, null, new ContainerRepository <TrashContainerItem>(persister, null, new Host(webContext, 1, 1), null)); th.UseNavigationMode = true; th.ExpireTrashedItem(item); mocks.ReplayAll(); DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); // move item into trashcan invokeMoved.Raise(persister, new CancellableDestinationEventArgs(item, trash)); mocks.VerifyAll(); }
public void TrashedItem_CopiedFromTrashcan_IsUnexpired() { PutItemInTrash(); persister.ItemDeleting += null; LastCall.IgnoreArguments(); persister.ItemCopied += null; IEventRaiser invokeCopied = LastCall.IgnoreArguments().GetEventRaiser(); persister.ItemMoving += null; LastCall.IgnoreArguments(); TrashHandler th = mocks.StrictMock <TrashHandler>(persister, null, null, new ContainerRepository <TrashContainerItem>(persister, null, new Host(webContext, 1, 1), null)); th.UseNavigationMode = true; th.RestoreValues(item); mocks.ReplayAll(); DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); // now restore through drag&drop invokeCopied.Raise(persister, new DestinationEventArgs(item, root)); mocks.VerifyAll(); }
public void NonThrowableItem_IsNotMovedToTrashcan_LegacyAttribute() { var nonThrowable = CreateItem <NonThrowableItem>(4, "neverInTrash", root); var th = CreateTrashHandler(); DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); persister.Delete(nonThrowable); Assert.That(trash.Children.Count, Is.EqualTo(0)); }
public void DeletedItem_IsThrownInTrash() { var th = CreateTrashHandler(); th.UseNavigationMode = true; DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); persister.Delete(item); item.Parent.ShouldBeOfType <TrashContainerItem>(); }
public void Item_MovedIntoTrash_IsNeutralized() { var th = CreateTrashHandler(); th.UseNavigationMode = true; th.ExpireTrashedItem(item); DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); persister.Move(item, trash); item[TrashHandler.DeletedDate].ShouldNotBe(null); }
public void TrashedItem_CopiedFromTrashcan_IsUnexpired() { PutItemInTrash(); var th = CreateTrashHandler(); th.UseNavigationMode = true; th.RestoreValues(item); DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); var copy = persister.Copy(item, root); copy.Parent.ShouldBe(root); copy[TrashHandler.DeletedDate].ShouldBe(null); }
public void TrashedItem_MovedFromTrashcan_IsUnexpired() { PutItemInTrash(); var th = CreateTrashHandler(); th.UseNavigationMode = true; th.RestoreValues(item); DeleteInterceptor interceptor = new DeleteInterceptor(persister, th); interceptor.Start(); // now restore through drag&drop persister.Move(item, root); item.Parent.ShouldBe(root); item[TrashHandler.DeletedDate].ShouldBe(null); }