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