public void MainViewModel_UnitTest_CloseNewWorkflowWithNoChanges_PopUpMustNotShow() { var wsiRepo = new Mock<IWorkspaceItemRepository>(); wsiRepo.Setup(r => r.WorkspaceItems).Returns(() => new List<IWorkspaceItem>()); wsiRepo.Setup(r => r.Write()).Verifiable(); #region Setup ImportService - GRRR! SetupImportServiceForPersistenceTests(wsiRepo); #endregion var resourceRepo = new Mock<IResourceRepository>(); resourceRepo.Setup(r => r.Save(It.IsAny<IResourceModel>())).Verifiable(); var envRepo = new Mock<IEnvironmentRepository>(); var envConn = new Mock<IEnvironmentConnection>(); envConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); var env = new Mock<IEnvironmentModel>(); env.Setup(e => e.ResourceRepository).Returns(resourceRepo.Object); env.Setup(e => e.Connection).Returns(envConn.Object); envRepo.Setup(r => r.All()).Returns(new List<IEnvironmentModel>(new[] { env.Object })); envRepo.Setup(r => r.Source).Returns(env.Object); Mock<IAsyncWorker> asyncWorker = AsyncWorkerTests.CreateSynchronousAsyncWorker(); var mockMainViewModel = new MainViewModelPersistenceMock(envRepo.Object, asyncWorker.Object, false); var resourceID = Guid.NewGuid(); var serverID = Guid.NewGuid(); #region Setup WorkSurfaceContextViewModel1 var resourceModel = new Mock<IContextualResourceModel>(); resourceModel.Setup(m => m.Environment).Returns(env.Object); resourceModel.Setup(m => m.ID).Returns(resourceID); resourceModel.Setup(m => m.IsNewWorkflow).Returns(true); resourceModel.Setup(m => m.IsWorkflowSaved).Returns(true); resourceModel.Setup(m => m.ResourceName).Returns("Some resource name 2"); var workflowHelper = new Mock<IWorkflowHelper>(); var designerViewModel = new WorkflowDesignerViewModel(resourceModel.Object, workflowHelper.Object, false); var contextViewModel1 = new WorkSurfaceContextViewModel( new WorkSurfaceKey { ResourceID = resourceID, ServerID = serverID, WorkSurfaceContext = designerViewModel.WorkSurfaceContext }, designerViewModel); #endregion mockMainViewModel.Items.Add(contextViewModel1); Mock<IPopupController> mockPopUp = Dev2MockFactory.CreateIPopup(MessageBoxResult.No); mockPopUp.Setup(m => m.Show()).Verifiable(); mockMainViewModel.PopupProvider = mockPopUp.Object; mockMainViewModel.ActivateItem(mockMainViewModel.Items[0]); mockMainViewModel.ActivateItem(mockMainViewModel.Items[1]); mockMainViewModel.CallDeactivate(mockMainViewModel.Items[1]); Assert.AreEqual(mockMainViewModel.Items[0], mockMainViewModel.ActiveItem); mockPopUp.Verify(m => m.Show(), Times.Never()); }
public void MainViewModelDeactivateItemWithPreviousItemOpenExpectedActiveItemToBePreviousItem() { lock (syncroot) { var wsiRepo = new Mock<IWorkspaceItemRepository>(); wsiRepo.Setup(r => r.WorkspaceItems).Returns(() => new List<IWorkspaceItem>()); wsiRepo.Setup(r => r.Write()).Verifiable(); #region Setup ImportService - GRRR! var importServiceContext = new ImportServiceContext(); ImportService.CurrentContext = importServiceContext; ImportService.Initialize(new List<ComposablePartCatalog> { new FullTestAggregateCatalog() }); ImportService.AddExportedValueToContainer(wsiRepo.Object); ImportService.AddExportedValueToContainer(new Mock<IEventAggregator>().Object); #endregion var envRepo = new Mock<IEnvironmentRepository>(); var mockMainViewModel = new MainViewModelPersistenceMock(envRepo.Object, false); mockMainViewModel.EventAggregator = ImportService.GetExportValue<IEventAggregator>(); var resourceID = Guid.NewGuid(); var serverID = Guid.NewGuid(); #region Setup WorkSurfaceContextViewModel1 var resourceRepo = new Mock<IResourceRepository>(); resourceRepo.Setup(r => r.Save(It.IsAny<IResourceModel>())).Verifiable(); var envConn = new Mock<IEnvironmentConnection>(); var env = new Mock<IEnvironmentModel>(); env.Setup(e => e.ResourceRepository).Returns(resourceRepo.Object); env.Setup(e => e.Connection).Returns(envConn.Object); var resourceModel = new Mock<IContextualResourceModel>(); resourceModel.Setup(m => m.Environment).Returns(env.Object); resourceModel.Setup(m => m.ID).Returns(resourceID); var workflowHelper = new Mock<IWorkflowHelper>(); var designerViewModel = new WorkflowDesignerViewModel(resourceModel.Object, workflowHelper.Object, false); var contextViewModel1 = new WorkSurfaceContextViewModel( new WorkSurfaceKey { ResourceID = resourceID, ServerID = serverID, WorkSurfaceContext = designerViewModel.WorkSurfaceContext }, designerViewModel); #endregion mockMainViewModel.Items.Add(contextViewModel1); serverID = Guid.NewGuid(); resourceID = Guid.NewGuid(); mockMainViewModel.PopupProvider = Dev2MockFactory.CreateIPopup(MessageBoxResult.No).Object; mockMainViewModel.ActivateItem(mockMainViewModel.Items[0]); mockMainViewModel.ActivateItem(mockMainViewModel.Items[1]); mockMainViewModel.CallDeactivate(mockMainViewModel.Items[1]); Assert.AreEqual(mockMainViewModel.Items[0], mockMainViewModel.ActiveItem); } }
public void MainViewModel_UnsavedWorkflowDialog_WhenXPressed_WorkflowRemainsOpen() { var wsiRepo = new Mock<IWorkspaceItemRepository>(); wsiRepo.Setup(r => r.WorkspaceItems).Returns(() => new List<IWorkspaceItem>()); wsiRepo.Setup(r => r.Write()).Verifiable(); #region Setup ImportService - GRRR! SetupImportServiceForPersistenceTests(wsiRepo); #endregion var envRepo = new Mock<IEnvironmentRepository>(); var resourceRepo = new Mock<IResourceRepository>(); resourceRepo.Setup(r => r.Save(It.IsAny<IResourceModel>())).Verifiable(); var envConn = new Mock<IEnvironmentConnection>(); var env = new Mock<IEnvironmentModel>(); envConn.Setup(conn => conn.ServerEvents).Returns(new Mock<IEventPublisher>().Object); env.Setup(e => e.ResourceRepository).Returns(resourceRepo.Object); env.Setup(e => e.Connection).Returns(envConn.Object); envRepo.Setup(r => r.All()).Returns(new[] { env.Object }); envRepo.Setup(e => e.Source).Returns(env.Object); envRepo.Setup(r => r.ReadSession()).Returns(new[] { env.Object.ID }); Mock<IAsyncWorker> asyncWorker = AsyncWorkerTests.CreateSynchronousAsyncWorker(); var mockMainViewModel = new MainViewModelPersistenceMock(envRepo.Object, asyncWorker.Object, false); var resourceID = Guid.NewGuid(); var serverID = Guid.NewGuid(); #region Setup WorkSurfaceContextViewModel1 var resourceModel = new Mock<IContextualResourceModel>(); resourceModel.Setup(m => m.Environment).Returns(env.Object); resourceModel.Setup(m => m.ID).Returns(resourceID); resourceModel.Setup(r => r.IsAuthorized(AuthorizationContext.Contribute)).Returns(true); resourceModel.Setup(m => m.ResourceName).Returns("Some resource name 3"); Mock<IPopupController> mockPopUp = Dev2MockFactory.CreateIPopup(MessageBoxResult.No); mockPopUp.Setup(m => m.Show(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<MessageBoxButton>(), It.IsAny<MessageBoxImage>(), It.IsAny<string>())).Verifiable(); var workflowHelper = new Mock<IWorkflowHelper>(); var designerViewModel = new WorkflowDesignerViewModel(new Mock<IEventAggregator>().Object, resourceModel.Object, workflowHelper.Object, mockPopUp.Object, new TestAsyncWorker(), false); var contextViewModel1 = new WorkSurfaceContextViewModel( new WorkSurfaceKey { ResourceID = resourceID, ServerID = serverID, WorkSurfaceContext = designerViewModel.WorkSurfaceContext }, designerViewModel); #endregion mockMainViewModel.Items.Add(contextViewModel1); mockMainViewModel.PopupProvider = mockPopUp.Object; mockMainViewModel.ActivateItem(mockMainViewModel.Items[0]); mockMainViewModel.ActivateItem(mockMainViewModel.Items[1]); mockMainViewModel.CallDeactivate(mockMainViewModel.Items[1]); Assert.AreEqual(mockMainViewModel.Items[1], mockMainViewModel.ActiveItem); mockPopUp.Verify(m => m.Show(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<MessageBoxButton>(), It.IsAny<MessageBoxImage>(), It.IsAny<string>()), Times.Once()); }