public void DeleteBranch_BranchIsNotActive_BranchIsRemoved() { var firstBranchName = "master"; var secondBranchName = "bugBranch"; var vm = new BranchesPanelViewModel { Provider = _provider.Object }; Assert.IsFalse(vm.DeleteBranchToolbarButtonCommand.CanExecute(bool.FalseString)); _provider.SetupGet(p => p.Branches).Returns( new List <IBranch> { new Branch(firstBranchName, "ref/Heads/" + firstBranchName, false, true, null), new Branch(secondBranchName, "ref/Heads/" + secondBranchName, false, false, null) }); vm.CurrentPublishedBranch = firstBranchName; vm.CurrentUnpublishedBranch = secondBranchName; _provider.Setup(p => p.DeleteBranch(It.IsAny <string>())); vm.DeleteBranchToolbarButtonCommand.Execute(bool.FalseString); _provider.Verify(p => p.DeleteBranch(secondBranchName)); }
public void HeadIsNotIncludedInPublishedBranches() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; CollectionAssert.DoesNotContain(vm.PublishedBranches.ToList(), "HEAD"); }
public void CreateBranch_BranchExists() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; Assert.IsFalse(vm.CreateBranchOkButtonCommand.CanExecute("master")); }
public void MergeViewSelectedDestinationBranchIsCurrentBranch() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; Assert.AreEqual(_intialBranch.Name, vm.DestinationBranch); }
public void CreateBranch_NameContainsConsecutiveAtSignAndOpenBrace() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "bug@{branch" }; Assert.IsFalse(vm.CreateBranchOkButtonCommand.CanExecute(null)); }
public void CreateBranch_NameIsAtSign() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "@" }; Assert.IsFalse(vm.CreateBranchOkButtonCommand.CanExecute(null)); }
public void CreateBranch_NameEndsWithSlash() { //arrange var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "bugBranch/" }; Assert.IsFalse(vm.CreateBranchOkButtonCommand.CanExecute(null)); }
public void CreateBranch_ValidBranchName() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "bugBranch" }; Assert.IsTrue(vm.CreateBranchOkButtonCommand.CanExecute(null)); }
public void DeleteBranchEnabled_BranchIsNotActive() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, CurrentPublishedBranch = "bugbranch" }; Assert.IsTrue(vm.DeleteBranchToolbarButtonCommand.CanExecute(bool.TrueString)); }
public void CreateBranch_NameContainsSlashSectionEndingWithDotlock() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "bug/branch.lock" }; Assert.IsFalse(vm.CreateBranchOkButtonCommand.CanExecute(null)); }
public void CreateBranch_NameContainsBackslash() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "bug\\branch" }; Assert.IsFalse(vm.CreateBranchOkButtonCommand.CanExecute(null)); }
public void ChangingSelectedBranchChecksOutThatBranch() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, CurrentBranch = "dev" }; _provider.Verify(git => git.Checkout("dev")); }
public void RefreshingViewShouldNotCheckoutBranch() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, }; vm.RefreshView(); _provider.Verify(git => git.Checkout(It.IsAny <string>()), Times.Once); //checkout when we first set provider }
public void MergeBranchViewIsShownOnCreateBranch() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; vm.NewBranchCommand.Execute(null); Assert.IsFalse(vm.DisplayMergeBranchesGrid); }
public void MergeViewIsShownOnMergeClick() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; vm.MergeBranchCommand.Execute(null); Assert.IsTrue(vm.DisplayMergeBranchesGrid); }
public void CreateBranchUserInputIsClearedAfterCancel() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "newBranch" }; vm.CreateBranchCancelButtonCommand.Execute(null); Assert.AreEqual(string.Empty, vm.NewBranchName); }
public void MergeViewIsHiddenOnCancel() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, DisplayMergeBranchesGrid = true }; vm.MergeBranchesCancelButtonCommand.Execute(null); Assert.IsFalse(vm.DisplayMergeBranchesGrid); }
public void CreateBranchViewIshiddenAfterCancel() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, DisplayCreateBranchGrid = true }; vm.CreateBranchCancelButtonCommand.Execute(null); Assert.IsFalse(vm.DisplayCreateBranchGrid); }
public void ProviderCallsCreateBranchOnCreateBranchConfirm() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = "bugBranch" }; vm.CreateBranchOkButtonCommand.Execute(null); _provider.Verify(git => git.CreateBranch(It.Is <string>(s => s == vm.CurrentBranch), It.Is <string>(s => s == "bugBranch"))); }
public void ProviderMergesOnMergeViewSubmit() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, SourceBranch = "dev", DestinationBranch = "master" }; vm.MergeBranchesOkButtonCommand.Execute(null); _provider.Verify(git => git.Merge("dev", "master")); }
public void SelectedBranchShouldBeCurrentBranchAfterRefresh() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; _provider.SetupGet(git => git.CurrentBranch).Returns(_branches[1]); vm.RefreshView(); Assert.AreEqual(_provider.Object.CurrentBranch.Name, vm.CurrentBranch); }
public void OnlyLocalBranchesInBranches() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; var expected = new List <string> { "master", "dev" }; CollectionAssert.AreEquivalent(expected, vm.LocalBranches.ToList()); }
public void UnPublishedBranchesAreListed() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; var expected = new List <string> { "dev" }; CollectionAssert.AreEqual(expected, vm.UnpublishedBranches.ToList()); }
public void UnpublishUnpublishesBranch() { var branch = "master"; var vm = new BranchesPanelViewModel { Provider = _provider.Object, CurrentPublishedBranch = branch }; vm.UnpublishBranchToolbarButtonCommand.Execute(null); _provider.Verify(git => git.Unpublish(branch)); }
public void MergeViewIsHiddenOnSuccessfulMerge() { var vm = new BranchesPanelViewModel { Provider = _provider.Object, SourceBranch = "fizz", DestinationBranch = "buzz", DisplayMergeBranchesGrid = true }; vm.MergeBranchesOkButtonCommand.Execute(null); Assert.IsFalse(vm.DisplayMergeBranchesGrid); }
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 ChangesPanelViewModel(); _branchesVM = new BranchesPanelViewModel(); _unsyncedVM = new UnsyncedCommitsPanelViewModel(); _settingsVM = new SettingsPanelViewModel(_configService.Object, _folderBrowserFactory.Object, new Rubberduck.UI.OpenFileDialog()); }
public void PublishBranch_ActionFailedEventIsRaised() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; var wasRaised = false; _provider.Setup(p => p.Publish(It.IsAny <string>())) .Throws( new SourceControlException("A source control exception was thrown.", new LibGit2Sharp.LibGit2SharpException("With an inner libgit2sharp exception")) ); vm.ErrorThrown += (sender, error) => wasRaised = true; vm.PublishBranchToolbarButtonCommand.Execute(null); Assert.IsTrue(wasRaised, "ActionFailedEvent was not raised."); }
public void OnBranchChange_WhenCheckoutFails_ActionFailedEventIsRaised() { var vm = new BranchesPanelViewModel { Provider = _provider.Object }; var wasRaised = false; _provider.Setup(p => p.Checkout(It.IsAny <string>())) .Throws( new SourceControlException("A source control exception was thrown.", new LibGit2Sharp.LibGit2SharpException("With an inner libgit2sharp exception")) ); vm.ErrorThrown += (sender, error) => wasRaised = true; vm.CurrentBranch = null; Assert.IsTrue(wasRaised, "ActionFailedEvent was not raised."); }
public void OnCreateBranch_WhenCreateFails_ActionFailedEventIsRaised() { var wasRaised = false; var branchName = "dev"; var vm = new BranchesPanelViewModel { Provider = _provider.Object, NewBranchName = branchName }; _provider.Setup(p => p.CreateBranch(It.Is <string>(b => b == vm.CurrentBranch), It.Is <string>(b => b == branchName))) .Throws( new SourceControlException("A source control exception was thrown.", new LibGit2Sharp.LibGit2SharpException("With an inner libgit2sharp exception")) ); vm.ErrorThrown += (sender, error) => wasRaised = true; vm.CreateBranchOkButtonCommand.Execute(null); Assert.IsTrue(wasRaised, "ActionFailedEvent was not raised."); }
public void MergeViewIsNotShownWhenLocal_IsNull() { var vm = new BranchesPanelViewModel(); Assert.IsFalse(vm.MergeBranchCommand.CanExecute(null)); }