public void UnsyncedPresenter_AfterRefresh_ViewBranchIsCurrentBranch() { var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; Assert.AreEqual(_initialBranch.Name, vm.CurrentBranch); }
public void UnsyncedPresenter_AfterRefresh_OutgoingCommitsAreDisplayed() { var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; CollectionAssert.AreEquivalent(_provider.Object.UnsyncedLocalCommits.ToList(), vm.OutgoingCommits.ToList()); }
public void UnsyncedPresenter_OnFetch_ProviderFetches() { var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; vm.FetchCommitsCommand.Execute(null); _provider.Verify(git => git.Fetch(It.IsAny <string>())); }
public void UnsyncedPresenter_OnPush_ProviderPushes() { var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; vm.PushCommitsCommand.Execute(null); _provider.Verify(git => git.Push()); }
public void UnsyncedPresenter_AfterRefresh_IncomingCommitsAreDisplayed() { //Arrange var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; //Assert CollectionAssert.AreEquivalent(_provider.Object.UnsyncedRemoteCommits.ToList(), vm.IncomingCommits.ToList()); }
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 UnsyncedPresenter_OnPull_ProviderPulls() { //Arrange var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; //Act vm.PullCommitsCommand.Execute(null); //Assert _provider.Verify(git => git.Pull()); }
public void InitializeMocks() { _window = Mocks.MockFactory.CreateWindowMock(); _windows = new MockWindowsCollection(new List <Window> { _window.Object }); _vbe = Mocks.MockFactory.CreateVbeMock(_windows); var mockHost = new Mock <IHostApplication>(); mockHost.SetupAllProperties(); _configService = new Mock <IConfigProvider <SourceControlSettings> >(); _configService.Setup(c => c.Create()).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>(), It.IsAny <SecureCredentials>())).Returns(GetDummyRepo()); _provider.Setup(git => git.CurrentRepository).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, new Rubberduck.UI.OpenFileDialog()); }
public void InitializeMocks() { _vbe = new MockVbeBuilder() .ProjectBuilder("TestProject1", ProjectProtection.Unprotected) .AddComponent("Module1", ComponentType.StandardModule, string.Empty) .MockVbeBuilder() .Build(); _configService = new Mock <IConfigProvider <SourceControlSettings> >(); _configService.Setup(c => c.Create()).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>(), It.IsAny <bool>())).Returns(_folderBrowser.Object); _folderBrowserFactory.Setup(f => f.CreateFolderBrowser(It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <string>())).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>(), It.IsAny <SecureCredentials>())).Returns(GetDummyRepo()); _provider.Setup(git => git.CurrentRepository).Returns(GetDummyRepo()); _providerFactory = new Mock <ISourceControlProviderFactory>(); _providerFactory.Setup(f => f.CreateProvider(It.IsAny <IVBProject>())) .Returns(_provider.Object); _providerFactory.Setup(f => f.CreateProvider(It.IsAny <IVBProject>(), It.IsAny <IRepository>())) .Returns(_provider.Object); _providerFactory.Setup(f => f.CreateProvider(It.IsAny <IVBProject>(), It.IsAny <IRepository>(), It.IsAny <SecureCredentials>())) .Returns(_provider.Object); _changesVM = new ChangesViewViewModel(); _branchesVM = new BranchesViewViewModel(); _unsyncedVM = new UnsyncedCommitsViewViewModel(); _settingsVM = new SettingsViewViewModel(_configService.Object, _folderBrowserFactory.Object, new Rubberduck.UI.OpenFileDialog()); }
public void UnsyncedPresenter_AfterFetch_IncomingCommitsRefreshes() { var vm = new UnsyncedCommitsViewViewModel { Provider = _provider.Object }; _provider.SetupGet(git => git.UnsyncedRemoteCommits) .Returns(new List <ICommit> { new Commit("1111111", "Hosch250", "Fixed the foobarred bazzer.") }); vm.FetchCommitsCommand.Execute(null); CollectionAssert.AreEquivalent(_provider.Object.UnsyncedRemoteCommits.ToList(), vm.IncomingCommits.ToList()); }
public void UnsyncedPresenter_WhenSyncFails_ActionFailedEventIsRaised() { 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; vm.SyncCommitsCommand.Execute(null); Assert.IsTrue(wasRaised, "ActionFailedEvent was not raised."); }