public void NavigationViewModel_UnitTest_AddEnvironmentWithDisconnectedLocalhost_InitiatesAutoConnect()
{
var localhostConnection = new Mock<IEnvironmentConnection>();
localhostConnection.Setup(e => e.StartAutoConnect()).Verifiable();
localhostConnection.Setup(e => e.WebServerUri).Returns(new Uri("https://localhost:3142/"));
var localhost = new Mock<IEnvironmentModel>();
localhost.Setup(e => e.ID).Returns(Guid.Empty);
localhost.Setup(e => e.Name).Returns("localhost");
localhost.Setup(e => e.IsConnected).Returns(false);
localhost.Setup(e => e.CanStudioExecute).Returns(false);
localhost.Setup(e => e.Connection).Returns(localhostConnection.Object);
localhost.Setup(m => m.Equals(It.IsAny<IEnvironmentModel>())).Returns(true);
var envRepo = new Mock<IEnvironmentRepository>();
envRepo.Setup(e => e.All()).Returns(new List<IEnvironmentModel>());
envRepo.Setup(e => e.Source).Returns(localhost.Object);
var viewModel = CreateViewModel(envRepo.Object, new Mock<IResourceRepository>());
viewModel.AddEnvironment(localhost.Object);
localhostConnection.Verify(e => e.StartAutoConnect(), "AddEnvironment did not start localhost auto-connect heartbeat.");
}