コード例 #1
0
        public void ChangesCurrentBranchRefreshesWhenBranchIsCheckedOut()
        {
            //arrange
            _configService.Setup(c => c.LoadConfiguration())
                .Returns(GetDummyConfig());

            SetupValidVbProject();

            var changesView = new Mock<IChangesView>();
            changesView.SetupProperty(v => v.CurrentBranch, "master");
            var changesPresenter = new ChangesPresenter(changesView.Object);

            var branchesView = new Mock<IBranchesView>();
            branchesView.SetupProperty(b => b.Current, "master");

            var branchesPresenter = new BranchesPresenter(branchesView.Object, new Mock<ICreateBranchView>().Object, new Mock<IDeleteBranchView>().Object, new Mock<IMergeView>().Object);

            var provider = new Mock<ISourceControlProvider>();
            provider.Setup(git => git.Checkout(It.IsAny<string>()));
            provider.SetupGet(git => git.CurrentBranch)
                .Returns(new Branch("dev", "/ref/head/dev", false, true));

            branchesPresenter.Provider = provider.Object;
            changesPresenter.Provider = provider.Object;

            //purposely createing a new presenter with specific child presenters
            var presenter = new SourceControlPresenter(_vbe.Object, _addIn.Object, _configService.Object,
                                                        _view.Object, changesPresenter, branchesPresenter,
                                                        _settingsPresenter.Object, _unsyncedPresenter.Object,
                                                        _folderBrowserFactory.Object, _providerFactory.Object,
                                                        _failedActionView.Object, _loginView.Object);

            //act
            branchesView.Object.Current = "dev";
            branchesView.Raise(b => b.SelectedBranchChanged += null, new EventArgs());

            //assert
            Assert.AreEqual("dev", changesView.Object.CurrentBranch);
        }
コード例 #2
0
 private SourceControlPresenter CreatePresenter()
 {
     var presenter = new SourceControlPresenter(_vbe.Object, _addIn.Object, _configService.Object,
         _view.Object, _changesPresenter.Object, _branchesPresenter.Object,
         _settingsPresenter.Object, _unsyncedPresenter.Object,
         _folderBrowserFactory.Object, _providerFactory.Object,
         _failedActionView.Object, _loginView.Object);
     return presenter;
 }
コード例 #3
0
        private void OnSourceControlClick(CommandBarButton Ctrl, ref bool CancelDefault)
        {
            if (_sourceControlPresenter == null)
            {
                var kernel = new StandardKernel(new SourceControlBindings());
                var vbeArg = new ConstructorArgument("vbe", this.IDE);
                var addinArg = new ConstructorArgument("addin", this.AddIn);

                _sourceControlPresenter = kernel.Get<SourceControlPresenter>(vbeArg, addinArg);
            }

            _sourceControlPresenter.Show();
        }