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());
}