public void MainViewModelOnDeactivateWithTrueExpectedSavesResourceModels()
{
lock (syncroot)
{
var wsiRepo = new Mock<IWorkspaceItemRepository>();
wsiRepo.Setup(r => r.WorkspaceItems).Returns(() => new List<IWorkspaceItem>());
wsiRepo.Setup(r => r.UpdateWorkspaceItem(It.IsAny<IContextualResourceModel>(), It.Is<bool>(b => b))).Verifiable();
SetupImportServiceForPersistenceTests(wsiRepo);
var resourceID = Guid.NewGuid();
var serverID = Guid.NewGuid();
#region Setup resourceModel
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);
#endregion
var workflowHelper = new Mock<IWorkflowHelper>();
var designerViewModel = new WorkflowDesignerViewModel(resourceModel.Object, workflowHelper.Object, false);
var contextViewModel = new WorkSurfaceContextViewModel(
new WorkSurfaceKey { ResourceID = resourceID, ServerID = serverID, WorkSurfaceContext = designerViewModel.WorkSurfaceContext },
designerViewModel);
var envRepo = new Mock<IEnvironmentRepository>();
var viewModel = new MainViewModelPersistenceMock(envRepo.Object, false);
viewModel.Items.Add(contextViewModel);
viewModel.TestClose();
wsiRepo.Verify(r => r.UpdateWorkspaceItem(It.IsAny<IContextualResourceModel>(), It.Is<bool>(b => b)));
resourceRepo.Verify(r => r.Save(It.IsAny<IResourceModel>()));
}
}