public void WorkSurfaceContextViewModel_SaveCallsCheckForServerMessages() { //------------Setup for test-------------------------- var workSurfaceKey = new WorkSurfaceKey(); var mockWorkSurfaceViewModel = new Mock<IWorkflowDesignerViewModel>(); var mockedConn = new Mock<IEnvironmentConnection>(); mockedConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockedConn.Object); mockEnvironmentModel.SetupGet(p => p.IsConnected).Returns(true); var mockRepository = new Mock<IResourceRepository>(); mockRepository.Setup(c => c.FetchResourceDefinition(It.IsAny<IEnvironmentModel>(), It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<bool>())).Returns(new ExecuteMessage()); mockRepository.Setup(m => m.Save(It.IsAny<IResourceModel>())).Verifiable(); mockRepository.Setup(c => c.SaveToServer(It.IsAny<IResourceModel>())).Returns(new ExecuteMessage()); mockEnvironmentModel.SetupGet(p => p.ResourceRepository).Returns(mockRepository.Object); var environmentModel = mockEnvironmentModel.Object; mockWorkSurfaceViewModel.Setup(model => model.EnvironmentModel).Returns(environmentModel); mockWorkSurfaceViewModel.Setup(m => m.BindToModel()).Verifiable(); var workSurfaceViewModel = mockWorkSurfaceViewModel.As<IWorkSurfaceViewModel>(); var workSurfaceContextViewModel = new WorkSurfaceContextViewModel(workSurfaceKey, workSurfaceViewModel.Object); var mockResourceModel = new Mock<IContextualResourceModel>(); mockResourceModel.SetupGet(p => p.Environment).Returns(environmentModel); mockResourceModel.Setup(m => m.UserPermissions).Returns(Permissions.Contribute); //------------Execute Test--------------------------- workSurfaceContextViewModel.Handle(new SaveResourceMessage(mockResourceModel.Object, false, false)); }
public void WorkSurfaceContextViewModel_SaveCallsCheckForServerMessages_NoMessagesAvailable_NothingHappen() { //------------Setup for test-------------------------- var workSurfaceKey = new WorkSurfaceKey(); var mockWorkSurfaceViewModel = new Mock<IWorkflowDesignerViewModel>(); var mockedConn = new Mock<IEnvironmentConnection>(); mockedConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockedConn.Object); mockEnvironmentModel.SetupGet(p => p.IsConnected).Returns(true); var mockRepository = new Mock<IResourceRepository>(); mockRepository.Setup(c => c.FetchResourceDefinition(It.IsAny<IEnvironmentModel>(), It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<bool>())).Returns(new ExecuteMessage()); mockRepository.Setup(m => m.Save(It.IsAny<IResourceModel>())).Verifiable(); mockRepository.Setup(c => c.SaveToServer(It.IsAny<IResourceModel>())).Returns(new ExecuteMessage()); mockEnvironmentModel.SetupGet(p => p.ResourceRepository).Returns(mockRepository.Object); var environmentModel = mockEnvironmentModel.Object; mockWorkSurfaceViewModel.Setup(model => model.EnvironmentModel).Returns(environmentModel); mockWorkSurfaceViewModel.Setup(m => m.BindToModel()).Verifiable(); var workSurfaceViewModel = mockWorkSurfaceViewModel.As<IWorkSurfaceViewModel>(); // object to work on var workSurfaceContextViewModel = new WorkSurfaceContextViewModel(workSurfaceKey, workSurfaceViewModel.Object); var st = new Mock<IStudioCompileMessageRepoFactory>(); var mr = new Mock<IStudioCompileMessageRepo>(); workSurfaceContextViewModel.StudioCompileMessageRepoFactory = st.Object; st.Setup(x => x.Create()).Returns(mr.Object); mr.Setup(a => a.GetCompileMessagesFromServer(It.IsAny<IContextualResourceModel>())).Returns(new CompileMessageList()); var resourceChangedFactory = new Mock<IResourceChangeHandlerFactory>(); var rsHandler = new Mock<IResourceChangeHandler>(); resourceChangedFactory.Setup(a => a.Create(new Mock<IEventAggregator>().Object)).Returns(rsHandler.Object); workSurfaceContextViewModel.ResourceChangeHandlerFactory = resourceChangedFactory.Object; var mockResourceModel = new Mock<IContextualResourceModel>(); mockResourceModel.SetupGet(p => p.Environment).Returns(environmentModel); mockResourceModel.Setup(m => m.UserPermissions).Returns(Permissions.Contribute); //------------Execute Test--------------------------- workSurfaceContextViewModel.Handle(new SaveResourceMessage(mockResourceModel.Object, false, false)); rsHandler.Verify(a => a.ShowResourceChanged(It.IsAny<IContextualResourceModel>(), It.IsAny<IList<string>>(), null), Times.Never()); }
public void WorkSurfaceContextViewModel_Handle_Save_WhenContextualResourceModelIsNotNull() { //------------Setup for test-------------------------- var workSurfaceKey = new WorkSurfaceKey(); var mockWorkSurfaceViewModel = new Mock<IWorkflowDesignerViewModel>(); var mockedConn = new Mock<IEnvironmentConnection>(); mockedConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockedConn.Object); mockEnvironmentModel.SetupGet(p => p.IsConnected).Returns(true); var mockRepository = new Mock<IResourceRepository>(); mockRepository.Setup(c => c.FetchResourceDefinition(It.IsAny<IEnvironmentModel>(), It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<bool>())).Returns(new ExecuteMessage()); mockRepository.Setup(m => m.Save(It.IsAny<IResourceModel>())).Verifiable(); mockRepository.Setup(c => c.SaveToServer(It.IsAny<IResourceModel>())).Returns(new ExecuteMessage()); mockEnvironmentModel.SetupGet(p => p.ResourceRepository).Returns(mockRepository.Object); var environmentModel = mockEnvironmentModel.Object; mockWorkSurfaceViewModel.Setup(model => model.EnvironmentModel).Returns(environmentModel); mockWorkSurfaceViewModel.Setup(m => m.BindToModel()).Verifiable(); var workSurfaceViewModel = mockWorkSurfaceViewModel.As<IWorkSurfaceViewModel>(); var popup = new Mock<IPopupController>(); bool called = false; var mockResourceModel = new Mock<IContextualResourceModel>(); mockResourceModel.SetupGet(p => p.Environment).Returns(environmentModel); mockResourceModel.Setup(m => m.UserPermissions).Returns(Permissions.Contribute); var workSurfaceContextViewModel = new WorkSurfaceContextViewModel(new Mock<IEventAggregator>().Object, workSurfaceKey, workSurfaceViewModel.Object, popup.Object, (a, b) => { called = true; }); mockWorkSurfaceViewModel.Setup(a => a.ResourceModel).Returns(mockResourceModel.Object); workSurfaceContextViewModel.WorkSurfaceViewModel = new WorkSurfaceViewModelTest(); var dlvm = new Mock<IDataListViewModel>(); dlvm.Setup(a => a.HasErrors).Returns(false); workSurfaceContextViewModel.DataListViewModel = dlvm.Object; mockResourceModel.Setup(a => a.IsNewWorkflow).Returns(true); //------------Execute Test--------------------------- workSurfaceContextViewModel.Handle(new SaveResourceMessage(mockResourceModel.Object, false, false)); //------------Assert--------------------------------- Assert.IsTrue(called); }
public void WorkSurfaceContextViewModel_Handle_Save_InvalidXml_CausesPopup() { //------------Setup for test-------------------------- var workSurfaceKey = new WorkSurfaceKey(); var mockWorkSurfaceViewModel = new Mock<IWorkflowDesignerViewModel>(); var mockedConn = new Mock<IEnvironmentConnection>(); mockedConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockedConn.Object); mockEnvironmentModel.SetupGet(p => p.IsConnected).Returns(true); var mockRepository = new Mock<IResourceRepository>(); mockRepository.Setup(c => c.FetchResourceDefinition(It.IsAny<IEnvironmentModel>(), It.IsAny<Guid>(), It.IsAny<Guid>(), It.IsAny<bool>())).Returns(new ExecuteMessage()); mockRepository.Setup(m => m.Save(It.IsAny<IResourceModel>())).Verifiable(); mockRepository.Setup(c => c.SaveToServer(It.IsAny<IResourceModel>())).Returns(new ExecuteMessage()); mockEnvironmentModel.SetupGet(p => p.ResourceRepository).Returns(mockRepository.Object); var environmentModel = mockEnvironmentModel.Object; mockWorkSurfaceViewModel.Setup(model => model.EnvironmentModel).Returns(environmentModel); mockWorkSurfaceViewModel.Setup(m => m.BindToModel()).Verifiable(); var workSurfaceViewModel = mockWorkSurfaceViewModel.As<IWorkSurfaceViewModel>(); var popup = new Mock<IPopupController>(); var workSurfaceContextViewModel = new WorkSurfaceContextViewModel(new Mock<IEventAggregator>().Object, workSurfaceKey, workSurfaceViewModel.Object, popup.Object, (a, b) => { }); var mockResourceModel = new Mock<IContextualResourceModel>(); mockResourceModel.SetupGet(p => p.Environment).Returns(environmentModel); mockResourceModel.Setup(m => m.UserPermissions).Returns(Permissions.Contribute); var dlvm = new Mock<IDataListViewModel>(); dlvm.Setup(a => a.HasErrors).Returns(true); workSurfaceContextViewModel.DataListViewModel = dlvm.Object; //------------Execute Test--------------------------- workSurfaceContextViewModel.Handle(new SaveResourceMessage(mockResourceModel.Object, false, false)); //------------Assert--------------------------------- popup.Verify(a => a.Show(It.IsAny<string>(), "Error Saving", MessageBoxButton.OK, MessageBoxImage.Error, "true")); }
public void WorkSurfaceContextViewModel_Handle_ExecuteResourceMessage_CallsBindModelAndSave() { //------------Setup for test-------------------------- CustomContainer.Register(new Mock<IWindowManager>().Object); var workSurfaceKey = new WorkSurfaceKey(); var mockWorkSurfaceViewModel = new Mock<IWorkflowDesignerViewModel>(); var mockedConn = new Mock<IEnvironmentConnection>(); mockedConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockedConn.Object); mockEnvironmentModel.SetupGet(p => p.IsConnected).Returns(true); var mockRepository = new Mock<IResourceRepository>(); mockRepository.Setup(m => m.Save(It.IsAny<IResourceModel>())).Verifiable(); mockEnvironmentModel.SetupGet(p => p.ResourceRepository).Returns(mockRepository.Object); var environmentModel = mockEnvironmentModel.Object; mockWorkSurfaceViewModel.Setup(model => model.EnvironmentModel).Returns(environmentModel); mockWorkSurfaceViewModel.Setup(m => m.BindToModel()).Verifiable(); var workSurfaceViewModel = mockWorkSurfaceViewModel.As<IWorkSurfaceViewModel>(); var workSurfaceContextViewModel = new WorkSurfaceContextViewModel(workSurfaceKey, workSurfaceViewModel.Object); var mockResourceModel = new Mock<IContextualResourceModel>(); mockResourceModel.SetupGet(p => p.Environment).Returns(environmentModel); mockResourceModel.Setup(m => m.UserPermissions).Returns(Permissions.Contribute); //------------Execute Test--------------------------- workSurfaceContextViewModel.Handle(new ExecuteResourceMessage(mockResourceModel.Object)); //------------Assert--------------------------------- mockWorkSurfaceViewModel.Verify(m => m.BindToModel(), Times.Once()); mockRepository.Verify(m => m.Save(It.IsAny<IResourceModel>()), Times.Once()); }
public void WorkSurfaceContextViewModel_DebugOutputMessage_DebugStateHasNoData_RootItemsIsZero() { //------------Setup for test-------------------------- var workSurfaceKey = new WorkSurfaceKey { WorkSurfaceContext = WorkSurfaceContext.Scheduler }; var mockWorkSurfaceViewModel = new Mock<IWorkflowDesignerViewModel>(); var mockedConn = new Mock<IEnvironmentConnection>(); mockedConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockedConn.Object); var environmentModel = mockEnvironmentModel.Object; mockWorkSurfaceViewModel.Setup(model => model.EnvironmentModel).Returns(environmentModel); var workSurfaceViewModel = mockWorkSurfaceViewModel.As<IWorkSurfaceViewModel>().Object; var workSurfaceContextViewModel = new WorkSurfaceContextViewModel(workSurfaceKey, workSurfaceViewModel) { DebugOutputViewModel = { DebugStatus = DebugStatus.Executing } }; //------------Execute Test--------------------------- workSurfaceContextViewModel.Handle(new DebugOutputMessage(new List<IDebugState>())); //------------Assert Results------------------------- Assert.AreEqual(0, workSurfaceContextViewModel.DebugOutputViewModel.RootItems.Count); }
public void WorkSurfaceContextViewModel_DebugOutputMessage_DebugStateHasData_OnlyOneRootItemIsDisplayed() { //------------Setup for test-------------------------- var workSurfaceKey = new WorkSurfaceKey { WorkSurfaceContext = WorkSurfaceContext.Scheduler }; var mockWorkSurfaceViewModel = new Mock<IWorkflowDesignerViewModel>(); var mockedConn = new Mock<IEnvironmentConnection>(); mockedConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var mockEnvironmentModel = new Mock<IEnvironmentModel>(); mockEnvironmentModel.Setup(model => model.Connection).Returns(mockedConn.Object); var environmentModel = mockEnvironmentModel.Object; mockWorkSurfaceViewModel.Setup(model => model.EnvironmentModel).Returns(environmentModel); var workSurfaceViewModel = mockWorkSurfaceViewModel.As<IWorkSurfaceViewModel>().Object; var workSurfaceContextViewModel = new WorkSurfaceContextViewModel(workSurfaceKey, workSurfaceViewModel) { DebugOutputViewModel = { DebugStatus = DebugStatus.Executing } }; const string msg = "[{\"$type\":\"Dev2.Diagnostics.Debug.DebugState, Dev2.Diagnostics\",\"ID\":\"cd902be2-a202-4d54-8c07-c5f56bae97fe\",\"ParentID\":\"00000000-0000-0000-0000-000000000000\",\"ServerID\":\"00000000-0000-0000-0000-000000000000\",\"EnvironmentID\":\"00000000-0000-0000-0000-000000000000\",\"ClientID\":\"00000000-0000-0000-0000-000000000000\",\"StateType\":64,\"DisplayName\":\"dave\",\"HasError\":true,\"ErrorMessage\":\"Service [ dave ] not found.\",\"Version\":\"\",\"Name\":\"DynamicServicesInvoker\",\"ActivityType\":0,\"Duration\":\"00:00:00\",\"DurationString\":\"PT0S\",\"StartTime\":\"2014-03-20T17:23:14.0224329+02:00\",\"EndTime\":\"2014-03-20T17:23:14.0224329+02:00\",\"Inputs\":[],\"Outputs\":[],\"Server\":\"\",\"WorkspaceID\":\"00000000-0000-0000-0000-000000000000\",\"OriginalInstanceID\":\"00000000-0000-0000-0000-000000000000\",\"OriginatingResourceID\":\"00000000-0000-0000-0000-000000000000\",\"IsSimulation\":false,\"Message\":null,\"NumberOfSteps\":0,\"Origin\":\"\",\"ExecutionOrigin\":0,\"ExecutionOriginDescription\":null,\"ExecutingUser\":null,\"SessionID\":\"00000000-0000-0000-0000-000000000000\"}]"; var serializer = new Dev2JsonSerializer(); var tmp = serializer.Deserialize<List<IDebugState>>(msg); //------------Execute Test--------------------------- workSurfaceContextViewModel.Handle(new DebugOutputMessage(tmp)); //------------Assert Results------------------------- Assert.AreEqual(1, workSurfaceContextViewModel.DebugOutputViewModel.RootItems.Count); }