public void ConnectControlViewModel_UpdateRepositoryOnServerSaved() { var serverGuid = Guid.NewGuid(); var uri = new Uri("http://bravo.com/"); var serverDisplayName = "johnnyBravoServer"; var mockShellViewModel = new Mock <IShellViewModel>(); var mockExplorerRepository = new Mock <IExplorerRepository>(); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); mockEnvironmentConnection.Setup(a => a.AppServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.UserName).Returns("johnny"); mockEnvironmentConnection.Setup(a => a.Password).Returns("bravo"); mockEnvironmentConnection.Setup(a => a.WebServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.ID).Returns(serverGuid); mockEnvironmentConnection.Setup(a => a.IsConnected).Returns(false); mockEnvironmentConnection.SetupProperty(a => a.DisplayName); mockEnvironmentConnection.Object.DisplayName = serverDisplayName; mockExplorerRepository.Setup( repository => repository.CreateFolder(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>())); mockExplorerRepository.Setup( repository => repository.Rename(It.IsAny <IExplorerItemViewModel>(), It.IsAny <string>())).Returns(true); var server = new ServerForTesting(mockExplorerRepository); server.EnvironmentID = serverGuid; server.ResourceName = "mr_J_bravo"; server.Connection = mockEnvironmentConnection.Object; mockShellViewModel.Setup(a => a.ActiveServer).Returns(server); mockShellViewModel.Setup(model => model.LocalhostServer).Returns(server); CustomContainer.Register <IServer>(server); CustomContainer.Register(mockShellViewModel.Object); var environmentModel = new Mock <IServer>(); environmentModel.SetupGet(a => a.Connection).Returns(mockEnvironmentConnection.Object); environmentModel.SetupGet(a => a.IsConnected).Returns(true); var e1 = new Server(serverGuid, mockEnvironmentConnection.Object); var repo = new TestServerRespository(environmentModel.Object, e1) { ActiveServer = e1 }; var environmentRepository = new ServerRepository(repo); Assert.IsNotNull(environmentRepository); var passed = false; mockShellViewModel.Setup(a => a.OpenResource(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <IServer>())) .Callback((Guid id1, Guid id2, IServer a) => { passed = a.EnvironmentID == serverGuid; }); //------------Setup for test-------------------------- var connectControlViewModel = new ConnectControlViewModel(server, new EventAggregator()); var privateObject = new PrivateObject(connectControlViewModel); privateObject.SetProperty("IsConnecting", false); privateObject.Invoke("UpdateRepositoryOnServerSaved", serverGuid, false); //------------Execute Test--------------------------- //------------Assert Results------------------------- Assert.AreEqual("johnnyBravoServer", mockEnvironmentConnection.Object.DisplayName); }
public void ConnectControlViewModelEditServerServerIDMatchIsTrue() { var serverGuid = Guid.NewGuid(); Uri uri = new Uri("http://bravo.com/"); var mockShellViewModel = new Mock <IShellViewModel>(); var mockExplorerRepository = new Mock <IExplorerRepository>(); var mockEnvironmentConnection = new Mock <IEnvironmentConnection>(); mockEnvironmentConnection.Setup(a => a.AppServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.UserName).Returns("johnny"); mockEnvironmentConnection.Setup(a => a.Password).Returns("bravo"); mockEnvironmentConnection.Setup(a => a.WebServerUri).Returns(uri); mockEnvironmentConnection.Setup(a => a.ID).Returns(serverGuid); mockExplorerRepository.Setup( repository => repository.CreateFolder(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <Guid>())); mockExplorerRepository.Setup( repository => repository.Rename(It.IsAny <IExplorerItemViewModel>(), It.IsAny <string>())).Returns(true); var server = new ServerForTesting(mockExplorerRepository); var server2 = new Server(serverGuid, mockEnvironmentConnection.Object); server.EnvironmentID = serverGuid; server.ResourceName = "mr_J_bravo"; server.Connection = mockEnvironmentConnection.Object; mockShellViewModel.Setup(a => a.ActiveServer).Returns(server); mockShellViewModel.Setup(model => model.LocalhostServer).Returns(server); CustomContainer.Register <IServer>(server); CustomContainer.Register(mockShellViewModel.Object); var environmentModel = new Mock <IServer>(); environmentModel.SetupGet(a => a.Connection).Returns(mockEnvironmentConnection.Object); environmentModel.SetupGet(a => a.IsConnected).Returns(true); var e1 = new Server(serverGuid, mockEnvironmentConnection.Object); var repo = new TestServerRespository(environmentModel.Object, e1) { ActiveServer = e1 }; var environmentRepository = new ServerRepository(repo); Assert.IsNotNull(environmentRepository); bool passed = false; mockShellViewModel.Setup(a => a.OpenResource(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <IServer>())) .Callback((Guid id1, Guid id2, IServer a) => { passed = a.EnvironmentID == serverGuid; }); //------------Setup for test-------------------------- var connectControlViewModel = new ConnectControlViewModel(server, new EventAggregator()); PrivateObject p = new PrivateObject(connectControlViewModel); p.SetField("_selectedConnection", server2); //------------Execute Test--------------------------- connectControlViewModel.Edit(); //------------Assert Results------------------------- Assert.IsTrue(passed); }