public void UnsyncedPresenter_AfterRefresh_OutgoingCommitsAreDisplayed() { //Arrange var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; //Assert CollectionAssert.AreEquivalent(_provider.Object.UnsyncedLocalCommits.ToList(), vm.OutgoingCommits.ToList()); }
public void UnsyncedPresenter_AfterRefresh_ViewBranchIsCurrentBranch() { //Arrange var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; //Assert Assert.AreEqual(_initialBranch.Name, vm.CurrentBranch); }
public void UnsyncedPresenter_OnFetch_ProviderFetches() { //Arrange var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; //Act - Simulate Fetch click vm.FetchCommitsCommand.Execute(null); //Assert _provider.Verify(git => git.Fetch(It.IsAny<string>())); }
public void InitializeMocks() { _window = Mocks.MockFactory.CreateWindowMock(); _windows = new MockWindowsCollection(new List<Window> { _window.Object }); _vbe = Mocks.MockFactory.CreateVbeMock(_windows); _configService = new Mock<IConfigurationService<SourceControlConfiguration>>(); _configService.Setup(c => c.LoadConfiguration()).Returns(GetDummyConfig()); _folderBrowser = new Mock<IFolderBrowser>(); _folderBrowserFactory = new Mock<IFolderBrowserFactory>(); _folderBrowserFactory.Setup(f => f.CreateFolderBrowser(It.IsAny<string>())).Returns(_folderBrowser.Object); _folderBrowserFactory.Setup(f => f.CreateFolderBrowser(It.IsAny<string>(), false)).Returns(_folderBrowser.Object); var masterRemote = new Mock<LibGit2Sharp.Branch>(); masterRemote.SetupGet(git => git.Tip).Returns(new Mock<LibGit2Sharp.Commit>().Object); masterRemote.SetupGet(git => git.FriendlyName).Returns("master"); var initialBranch = new Branch("master", "refs/Heads/master", false, true, masterRemote.Object); _provider = new Mock<ISourceControlProvider>(); _provider.SetupGet(git => git.CurrentBranch).Returns(initialBranch); _provider.SetupGet(git => git.UnsyncedLocalCommits).Returns(new List<ICommit>()); _provider.SetupGet(git => git.UnsyncedRemoteCommits).Returns(new List<ICommit>()); _provider.Setup(git => git.InitVBAProject(It.IsAny<string>())).Returns(GetDummyRepo()); _provider.Setup(git => git.Clone(It.IsAny<string>(), It.IsAny<string>())).Returns(GetDummyRepo()); _providerFactory = new Mock<ISourceControlProviderFactory>(); _providerFactory.Setup(f => f.CreateProvider(It.IsAny<VBProject>())) .Returns(_provider.Object); _providerFactory.Setup(f => f.CreateProvider(It.IsAny<VBProject>(), It.IsAny<IRepository>(), It.IsAny<ICodePaneWrapperFactory>())) .Returns(_provider.Object); _providerFactory.Setup(f => f.CreateProvider(It.IsAny<VBProject>(), It.IsAny<IRepository>(), It.IsAny<SecureCredentials>(), It.IsAny<ICodePaneWrapperFactory>())) .Returns(_provider.Object); _changesVM = new ChangesViewViewModel(); _branchesVM = new BranchesViewViewModel(); _unsyncedVM = new UnsyncedCommitsViewViewModel(); _settingsVM = new SettingsViewViewModel(_configService.Object, _folderBrowserFactory.Object); }
public void UnsyncedPresenter_AfterFetch_IncomingCommitsRefreshes() { //Arrange var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; _provider.SetupGet(git => git.UnsyncedRemoteCommits) .Returns(new List<ICommit> { new Commit("1111111", "Hosch250", "Fixed the foobarred bazzer.") }); //Act - Simulate Fetch click vm.FetchCommitsCommand.Execute(null); //Assert CollectionAssert.AreEquivalent(_provider.Object.UnsyncedRemoteCommits.ToList(), vm.IncomingCommits.ToList()); }
public void UnsyncedPresenter_WhenSyncFails_ActionFailedEventIsRaised() { //arrange var wasRaised = false; var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; _provider.Setup(p => p.Pull()) .Throws( new SourceControlException("A source control exception was thrown.", new LibGit2Sharp.LibGit2SharpException("With an inner libgit2sharp exception")) ); vm.ErrorThrown += (sender, error) => wasRaised = true; //act vm.SyncCommitsCommand.Execute(null); //assert Assert.IsTrue(wasRaised, "ActionFailedEvent was not raised."); }
public void UnsyncedPresenter_OnSync_ProviderPullsThenPushes() { //Arrange var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; //Act vm.SyncCommitsCommand.Execute(null); //Assert _provider.Verify(git => git.Pull()); _provider.Verify(git => git.Push()); }