public void TestInitialize() { var explorerTooltips = new Mock <IExplorerTooltips>(); CustomContainer.Register(explorerTooltips.Object); var serverRepository = new Mock <IServerRepository>(); CustomContainer.Register(serverRepository.Object); var connectControlSingleton = new Mock <IConnectControlSingleton>(); CustomContainer.Register(connectControlSingleton.Object); _shellViewModelMock = new Mock <IShellViewModel>(); _shellViewModelMock.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object); _shellViewModelMock.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object); var env = new Mock <IEnvironmentViewModel>(); _shellViewModelMock.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel>() { env.Object }); _serverMock = new Mock <IServer>(); _studioUpdateManagerMock = new Mock <IStudioUpdateManager>(); _explorerItemMock = new Mock <IExplorerItem>(); _explorerItemMock.SetupGet(it => it.Children).Returns(new ObservableCollection <IExplorerItem>()); _serverMock.Setup(it => it.LoadExplorer(false)).ReturnsAsync(_explorerItemMock.Object); _serverMock.SetupGet(it => it.UpdateRepository).Returns(_studioUpdateManagerMock.Object); _serverMock.SetupGet(it => it.DisplayName).Returns("someResName"); var mockEnvironmentConnection = SetupMockConnection(); _serverMock.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object); _serverMock.Setup(server => server.Connection).Returns(mockEnvironmentConnection.Object); _shellViewModelMock.SetupGet(it => it.LocalhostServer).Returns(_serverMock.Object); _eventAggregatorMock = new Mock <IEventAggregator>(); _target = new DeployDestinationViewModel(_shellViewModelMock.Object, _eventAggregatorMock.Object); }
public void Given_SameItem_OnSourceAndDestination_DeployStatsViewerViewModel_CheckDestinationPersmisions_ShouldBeFalse() { var explorerTooltips = new Mock <IExplorerTooltips>(); CustomContainer.Register(explorerTooltips.Object); //------------Setup for test-------------------------- var shellViewModel = new Mock <IShellViewModel>(); shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object); shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object); var envMock = new Mock <IEnvironmentViewModel>(); shellViewModel.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel>() { envMock.Object }); var eventAggregator = new Mock <IEventAggregator>(); var destPermissions = new List <IWindowsGroupPermission>(); destPermissions.Add(new WindowsGroupPermission { Administrator = true }); var localhost = new Mock <IServer>(); localhost.Setup(a => a.DisplayName).Returns("Localhost"); localhost.SetupGet(server => server.Permissions).Returns(destPermissions); localhost.SetupGet(server => server.CanDeployTo).Returns(true); shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object); shellViewModel.Setup(x => x.ActiveServer).Returns(new Mock <IServer>().Object); var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object); IList <IExplorerTreeItem> items = new List <IExplorerTreeItem>(); var parentMock = new Mock <IExplorerTreeItem>(); var itemViewModel = new ExplorerItemViewModel(localhost.Object, parentMock.Object, null, shellViewModel.Object, null); var explorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, itemViewModel, null); var destinationViewModel = new AsyncObservableCollection <IExplorerItemViewModel>(); destinationViewModel.Add(explorerItemViewModel); parentMock.SetupGet(it => it.Children).Returns(destinationViewModel); var sourcePermissions = new List <IWindowsGroupPermission>(); var otherServer = new Mock <IServer>(); otherServer.SetupGet(server => server.Permissions).Returns(sourcePermissions); otherServer.SetupGet(server => server.CanDeployFrom).Returns(true); parentMock.SetupGet(item => item.Server).Returns(otherServer.Object); items.Add(parentMock.Object); deployDestinationViewModel.Environments.First().Children = destinationViewModel; deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First(); var stat = new DeployStatsViewerViewModel(items, deployDestinationViewModel); Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0); //------------Execute Test--------------------------- Assert.IsNotNull(stat); stat.TryCalculate(items); //------------Assert Results------------------------- Assert.IsFalse(items.First().CanDeploy); }
public void DeployStatsViewerViewModel_Given_TheSameServer_CheckDestinationPersmisions_ShouldBeTrue() { var explorerTooltips = new Mock <IExplorerTooltips>(); CustomContainer.Register(explorerTooltips.Object); //------------Setup for test-------------------------- var shellViewModel = new Mock <IShellViewModel>(); shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object); shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object); var envMock = new Mock <IEnvironmentViewModel>(); shellViewModel.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel> { envMock.Object }); var eventAggregator = new Mock <IEventAggregator>(); var localhost = new Mock <IServer>(); localhost.Setup(a => a.DisplayName).Returns("Localhost"); localhost.SetupGet(server => server.CanDeployTo).Returns(true); localhost.SetupGet(server => server.CanDeployFrom).Returns(true); var mockEnvironmentConnection = SetupMockConnection(); localhost.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object); shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object); var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object); var sourceItemViewModel = new ExplorerItemViewModel(localhost.Object, null, null, shellViewModel.Object, null); var sourceViewModel = new AsyncObservableCollection <IExplorerItemViewModel>(); var sourceExplorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, sourceItemViewModel, null); sourceViewModel.Add(sourceExplorerItemViewModel); var destinationViewModel = SetDestinationExplorerItemViewModels(Guid.Empty, localhost, shellViewModel, localhost); IList <IExplorerTreeItem> sourceExplorerItem = new List <IExplorerTreeItem> { sourceExplorerItemViewModel }; deployDestinationViewModel.Environments.First().Children = destinationViewModel; deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First(); var stat = new DeployStatsViewerViewModel(sourceExplorerItem, deployDestinationViewModel); Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0); //------------Execute Test--------------------------- Assert.IsNotNull(stat); stat.TryCalculate(sourceExplorerItem); //------------Assert Results------------------------- Assert.IsTrue(sourceExplorerItem.First().CanDeploy); }
public void Given_NewItem_OnSourceAndDestination_DeployStatsViewerViewModel_CheckDestinationPersmisions_ShouldBeTrue() { //------------Setup for test-------------------------- var shellViewModel = new Mock <IShellViewModel>(); shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object); shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object); var eventAggregator = new Mock <IEventAggregator>(); var localhost = new Mock <IServer>(); localhost.Setup(a => a.DisplayName).Returns("Localhost"); localhost.SetupGet(server => server.CanDeployTo).Returns(true); localhost.SetupGet(server => server.IsConnected).Returns(true); var otherServer = new Mock <IServer>(); otherServer.Setup(server => server.IsConnected).Returns(true); otherServer.Setup(a => a.DisplayName).Returns("OtherServer"); otherServer.SetupGet(server => server.CanDeployFrom).Returns(true); shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object); var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object); var sourceItemViewModel = new ExplorerItemViewModel(localhost.Object, null, null, shellViewModel.Object, null); var sourceViewModel = new AsyncObservableCollection <IExplorerItemViewModel>(); var sourceExplorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, sourceItemViewModel, null); sourceViewModel.Add(sourceExplorerItemViewModel); var destinationViewModel = SetDestinationExplorerItemViewModels(Guid.NewGuid(), otherServer, shellViewModel, localhost); IList <IExplorerTreeItem> sourceExplorerItem = new List <IExplorerTreeItem>(); sourceExplorerItem.Add(sourceExplorerItemViewModel); deployDestinationViewModel.Environments.First().Children = destinationViewModel; deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First(); deployDestinationViewModel.SelectedEnvironment.Connect(); sourceExplorerItem.First().CanDeploy = true; sourceExplorerItem.First().IsResourceChecked = true; var stat = new DeployStatsViewerViewModel(sourceExplorerItem, deployDestinationViewModel); Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0); //------------Execute Test--------------------------- Assert.IsNotNull(stat); stat.Calculate(sourceExplorerItem); //------------Assert Results------------------------- Assert.IsTrue(sourceExplorerItem.First().CanDeploy); Assert.AreEqual(stat.NewResources, 1); }
public void TestInitialize() { _shellViewModelMock = new Mock <IShellViewModel>(); _shellViewModelMock.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object); _shellViewModelMock.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object); _serverMock = new Mock <IServer>(); _studioUpdateManagerMock = new Mock <IStudioUpdateManager>(); _explorerItemMock = new Mock <IExplorerItem>(); _explorerItemMock.SetupGet(it => it.Children).Returns(new ObservableCollection <IExplorerItem>()); _serverMock.Setup(it => it.LoadExplorer(false)).ReturnsAsync(_explorerItemMock.Object); _serverMock.SetupGet(it => it.UpdateRepository).Returns(_studioUpdateManagerMock.Object); _serverMock.SetupGet(it => it.DisplayName).Returns("someResName"); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); mockEnvironmentConnection.Setup(connection => connection.IsConnected).Returns(true); _serverMock.Setup(server => server.Connection).Returns(mockEnvironmentConnection.Object); _shellViewModelMock.SetupGet(it => it.LocalhostServer).Returns(_serverMock.Object); _eventAggregatorMock = new Mock <IEventAggregator>(); _target = new DeployDestinationViewModel(_shellViewModelMock.Object, _eventAggregatorMock.Object); }
public DeployWorksurfaceViewModel() : base(new EventAggregator()) { var mainViewModel = CustomContainer.Get <IShellViewModel>(); var dest = new DeployDestinationViewModel(mainViewModel, CustomContainer.Get <Microsoft.Practices.Prism.PubSubEvents.IEventAggregator>()); var stats = new DeployStatsViewerViewModel(dest); var source = new DeploySourceExplorerViewModel(mainViewModel, CustomContainer.Get <Microsoft.Practices.Prism.PubSubEvents.IEventAggregator>(), stats); dest.StatsArea = stats; var vm = new SingleExplorerDeployViewModel(dest, source, new List <IExplorerTreeItem>(), stats, mainViewModel, CustomContainer.Get <IPopupController>()); ViewModel = vm; View = new DeployView(); ViewModel.PropertyChanged += (sender, args) => { if (args.PropertyName == "Header") { OnPropertyChanged("DisplayName"); } ViewModelUtils.RaiseCanExecuteChanged(mainViewModel?.SaveCommand); }; }
public void DeployStatsViewerViewModel_TryCalculate_ShouldBeTrue() { var explorerTooltips = new Mock <IExplorerTooltips>(); CustomContainer.Register(explorerTooltips.Object); //------------Setup for test-------------------------- var shellViewModel = new Mock <IShellViewModel>(); shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object); shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object); var envMock = new Mock <IEnvironmentViewModel>(); shellViewModel.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel> { envMock.Object }); var eventAggregator = new Mock <IEventAggregator>(); var mockEnvironmentConnection = SetupMockConnection(); var localhost = new Mock <IServer>(); localhost.Setup(a => a.DisplayName).Returns("Localhost"); localhost.SetupGet(server => server.CanDeployTo).Returns(true); localhost.SetupGet(server => server.IsConnected).Returns(true); localhost.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object); var otherServer = new Mock <IServer>(); otherServer.Setup(server => server.IsConnected).Returns(true); otherServer.Setup(a => a.DisplayName).Returns("OtherServer"); otherServer.SetupGet(server => server.CanDeployFrom).Returns(true); otherServer.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object); shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object); var connectControlSingleton = new Mock <IConnectControlSingleton>(); CustomContainer.Register(connectControlSingleton.Object); var environmentRepository = new Mock <IServerRepository>(); CustomContainer.Register(environmentRepository.Object); var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object); var sourceItemViewModel = new ExplorerItemViewModel(localhost.Object, null, null, shellViewModel.Object, null); var sourceExplorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, sourceItemViewModel, null); var destinationViewModel = SetDestinationExplorerItemViewModels(Guid.NewGuid(), otherServer, shellViewModel, localhost); IList <IExplorerTreeItem> sourceExplorerItem = new List <IExplorerTreeItem>(); sourceExplorerItemViewModel.ResourceId = Guid.NewGuid(); sourceExplorerItem.Add(sourceExplorerItemViewModel); deployDestinationViewModel.Environments.First().Children = destinationViewModel; deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First(); deployDestinationViewModel.SelectedEnvironment.Connect(); sourceExplorerItem.First().CanDeploy = true; sourceExplorerItem.First().IsResourceChecked = true; var stat = new DeployStatsViewerViewModel(sourceExplorerItem, deployDestinationViewModel); Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0); //------------Execute Test--------------------------- Assert.IsNotNull(stat); stat.TryCalculate(null); //------------Assert Results------------------------- Assert.IsTrue(sourceExplorerItem.First().CanDeploy); Assert.AreEqual(0, stat.NewResources); Assert.AreEqual(0, stat.Services); Assert.AreEqual(0, stat.Sources); Assert.AreEqual(0, stat.Unknown); Assert.AreEqual(0, stat.Overrides); Assert.AreEqual(0, stat.New.Count); Assert.AreEqual(0, stat.Conflicts.Count); Assert.AreEqual(0, stat.Connectors); Assert.IsNull(stat.CalculateAction); Assert.IsNull(stat.Status); Assert.IsNull(stat.RenameErrors); }