コード例 #1
0
        public async Task TestLoad()
        {
            //arrange
            var serverID         = Guid.NewGuid();
            var explorerItemMock = new Mock <IExplorerItem>();

            _serverMock.SetupGet(it => it.IsConnected).Returns(true);
            _serverMock.SetupGet(it => it.EnvironmentID).Returns(serverID);
            _serverMock.Setup(it => it.LoadExplorer(false)).Returns(Task.FromResult(explorerItemMock.Object));

            var localhost = new Mock <IServer>();

            localhost.Setup(a => a.DisplayName).Returns("Localhost");
            localhost.SetupGet(server => server.CanDeployTo).Returns(true);

            var shellViewModel = new Mock <IShellViewModel>();

            var env        = new Mock <IEnvironmentViewModel>();
            var exploreItm = new Mock <IExplorerItemViewModel>();

            exploreItm.SetupGet(model => model.ResourceName).Returns("a");
            exploreItm.SetupGet(model => model.ResourceType).Returns("Dev2Server");
            exploreItm.SetupGet(model => model.ResourceId).Returns(serverID);
            exploreItm.SetupGet(model => model.Children).Returns(new BindableCollection <IExplorerItemViewModel>());

            var exploreItm1 = new Mock <IExplorerItemViewModel>();

            exploreItm1.SetupGet(model => model.ResourceName).Returns("a");
            exploreItm1.SetupGet(model => model.ResourceType).Returns("Dev2Server");
            exploreItm1.SetupGet(model => model.ResourceId).Returns(serverID);
            exploreItm1.SetupGet(model => model.Children).Returns(new BindableCollection <IExplorerItemViewModel>());
            env.SetupGet(model => model.Children).Returns(new BindableCollection <IExplorerItemViewModel>()
            {
                exploreItm.Object, exploreItm1.Object
            });

            shellViewModel.SetupGet(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object);
            shellViewModel.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new BindableCollection <IEnvironmentViewModel>()
            {
                env.Object
            });
            var mockConnectControl = new Mock <IConnectControlViewModel>();

            mockConnectControl.SetupGet(a => a.Servers).Returns(new BindableCollection <IServer>()
            {
                _serverMock.Object
            });

            shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(mockConnectControl.Object);
            shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object);
            shellViewModel.Setup(x => x.ActiveServer).Returns(new Mock <IServer>().Object);
            CustomContainer.Register(shellViewModel.Object);
            _target = new EnvironmentViewModel(_serverMock.Object, shellViewModel.Object);

            //act
            var result = await _target.LoadAsync();

            //assert
            Assert.IsFalse(_target.Children.Any());
        }