PreventDrop() public method

public PreventDrop ( IDataObject dataObject ) : bool
dataObject IDataObject
return bool
 public void DragDropHelpers_PreventDrop_GetDataReturnsNull_ReturnsFalse()
 {
     //------------Setup for test--------------------------
     var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView());
     //------------Execute Test---------------------------
     bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatNoData(new[] { "ExplorerItemModel", "SomeText" }));
     //------------Assert Results-------------------------
     Assert.IsFalse(canDoDrop);
 }
 public void DragDropHelpers_PreventDrop_FormatsReturnsNotResourceTreeViewModelOrWorkflowItemTypeNameFormat_ReturnsFalse()
 {
     //------------Setup for test--------------------------
     var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView());
     //------------Execute Test---------------------------
     bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormat(new[] { "SomeText" }));
     //------------Assert Results-------------------------
     Assert.IsFalse(canDoDrop);
 }
 public void DragDropHelpers_PreventDrop_NoFormats_ReturnsFalse()
 {
     //------------Setup for test--------------------------
     var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView());
     //------------Execute Test---------------------------
     bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectNoFormats());
     //------------Assert Results-------------------------
     Assert.IsFalse(canDoDrop);
 }
示例#4
0
 public void DragDropHelpers_PreventDrop_DataContextViewModelSameEnvironmentID_ReturnsFalse()
 {
     //------------Setup for test--------------------------
     var environmentMock = new Mock<IEnvironmentModel>();
     Guid guid = Guid.NewGuid();
     environmentMock.Setup(model => model.ID).Returns(guid);
     var data = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { Permissions = Permissions.Execute, ResourceType = ResourceType.DbService, EnvironmentId = environmentMock.Object.ID };
     var dataContext = new Mock<IWorkflowDesignerViewModel>();
     dataContext.Setup(model => model.EnvironmentModel).Returns(environmentMock.Object);
     var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView(dataContext.Object));
     //------------Execute Test---------------------------
     bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatData(new[] { "ExplorerItemModel" }, data));
     //------------Assert Results-------------------------
     Assert.IsFalse(canDoDrop);
 }
        //a return from here without settings handled to true and DragDropEffects.None implies that the item drop is allowed
        void DropPointOnDragEnter(object sender, DragEventArgs e)
        {
            var dataObject           = e.Data;
            var workSurfaceServiceId = ((Core.Models.ResourceModel)
                                            ((WorkflowDesignerViewModel)
                                            ((FrameworkElement)e.Source)
                                            .DataContext).ResourceModel).ID;
            var data = dataObject.GetData("Warewolf.Studio.ViewModels.ExplorerItemViewModel");
            var itemBeingDraggedOntoTheSurface = data as Warewolf.Studio.ViewModels.ExplorerItemViewModel;

            if (e.OriginalSource.GetType() == typeof(ScrollViewer))
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
            }
            else if (e.OriginalSource.GetType() == typeof(Border))
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
            }
            else if (e.OriginalSource.GetType() == typeof(Grid))
            {
                if (e.OriginalSource is Grid grid && grid.DataContext.GetType() == typeof(WorkflowDesignerViewModel))
                {
                    e.Effects = DragDropEffects.None;
                    e.Handled = true;
                }
            }
            else if (itemBeingDraggedOntoTheSurface != null && workSurfaceServiceId == itemBeingDraggedOntoTheSurface.ResourceId)
            {
                e.Effects = DragDropEffects.None;
                e.Handled = true;
            }
            else
            {
                if (_dragDropHelpers.PreventDrop(dataObject))
                {
                    e.Effects = DragDropEffects.None;
                    e.Handled = true;
                }
            }
        }
示例#6
0
        public void DragDropHelpers_PreventDrop_FormatOfWorkflowItemTypeNameFormat_ReturnsFalse()
        {
            //------------Setup for test--------------------------
            object dataContext = new object();
            var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView(dataContext));

            var data = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { Permissions = Permissions.Execute, ResourceType = ResourceType.DbService };
            //------------Execute Test---------------------------
            bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatData(new[] { "WorkflowItemTypeNameFormat" }, data));
            //------------Assert Results-------------------------
            Assert.IsFalse(canDoDrop);
        }
示例#7
0
        public void DragDropHelpers_PreventDrop_UserIsNotAuthorized_True()
        {
            //------------Setup for test--------------------------
            var data = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { Permissions = Permissions.View, ResourceType = ResourceType.WorkflowService };

            var dataContext = new object();
            var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView(dataContext));

            //------------Execute Test---------------------------
            var canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatData(new[] { "ExplorerItemModel" }, data));

            //------------Assert Results-------------------------
            Assert.IsTrue(canDoDrop);
        }
示例#8
0
        public void DragDropHelpers_PreventDrop_UserIsAuthorized_False()
        {
            //------------Setup for test--------------------------
            var data = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { Permissions = Permissions.Execute, ResourceType = ResourceType.WorkflowService };

            var dataContext = new Mock<IWorkflowDesignerViewModel>();
            var differentEnvironment = new Mock<IEnvironmentModel>();
            differentEnvironment.Setup(model => model.ID).Returns(Guid.Empty);
            dataContext.Setup(model => model.EnvironmentModel).Returns(differentEnvironment.Object);
            var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView(dataContext.Object));

            //------------Execute Test---------------------------
            var canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatData(new[] { "ExplorerItemModel" }, data));

            //------------Assert Results-------------------------
            Assert.IsFalse(canDoDrop);
        }
示例#9
0
        public void DragDropHelpers_PreventDrop_LocalResourceOnRemoteDesignSurface_ReturnsFalse()
        {
            //------------Setup for test--------------------------
            var data = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { Permissions = Permissions.Execute, ResourceType = ResourceType.WorkflowService,EnvironmentId = Guid.NewGuid()};
            var dataContext = new Mock<IWorkflowDesignerViewModel>();

            var differentEnvironment = new Mock<IEnvironmentModel>();
            differentEnvironment.Setup(model => model.ID).Returns(Guid.Empty);
            dataContext.Setup(model => model.EnvironmentModel).Returns(differentEnvironment.Object);
            differentEnvironment.Setup(a => a.IsLocalHost).Returns(false);
            var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView(dataContext.Object));
            CustomContainer.Register(new Mock<IPopupController>().Object);
            //------------Execute Test---------------------------
            bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatData(new[] { "ExplorerItemModel" }, data));
            //------------Assert Results-------------------------
            Assert.IsTrue(canDoDrop);
        }
示例#10
0
 public void DragDropHelpers_PreventDrop_GetDataReturnsNonExplorerItemModel_ReturnsFalse()
 {
     //------------Setup for test--------------------------
     var data = new Object();
     var dataContext = new Mock<IWorkflowDesignerViewModel>();
     var differentEnvironment = new Mock<IEnvironmentModel>();
     differentEnvironment.Setup(model => model.ID).Returns(Guid.Empty);
     dataContext.Setup(model => model.EnvironmentModel).Returns(differentEnvironment.Object);
     var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView(dataContext.Object));
     //------------Execute Test---------------------------
     bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatData(new[] { "ExplorerItemModel" }, data));
     //------------Assert Results-------------------------
     Assert.IsTrue(canDoDrop);
 }
        public void DragDropHelpers_PreventDrop_GetDataReturnsExplorerItemModelNotWorkflowServiceDataContextNotViewModel_ReturnsTrue()
        {
            //------------Setup for test--------------------------
            object dataContext = new object();
            var dragDropHelpers = new DragDropHelpers(GetMockWorkflowDesignerView(dataContext));

            var data = new ExplorerItemModel(new Mock<IConnectControlSingleton>().Object, new Mock<IStudioResourceRepository>().Object) { Permissions = Permissions.Execute, ResourceType = Common.Interfaces.Data.ResourceType.DbService };
            //------------Execute Test---------------------------
            bool canDoDrop = dragDropHelpers.PreventDrop(GetMockDataObjectWithFormatData(new[] { "ExplorerItemModel" }, data));
            //------------Assert Results-------------------------
            Assert.IsTrue(canDoDrop);
        }