public void SelectingAuthorShouldTriggerFilter()
        {
            var repositoryHost = CreateRepositoryHost();
            var repository     = Substitute.For <ILocalRepositoryModel>();
            var settings       = CreateSettings();
            var prViewModel    = new PullRequestListViewModel(repositoryHost, repository, settings);

            prViewModel.Initialize(null);
            prViewModel.PullRequests.Received(1).Filter = AnyFilter;

            prViewModel.SelectedAuthor = prViewModel.PullRequests[0].Author;
            prViewModel.PullRequests.Received(2).Filter = AnyFilter;
        }
Esempio n. 2
0
        public void SelectingAssigneeShouldTriggerFilter()
        {
            var repositoryHost = CreateRepositoryHost();
            var repository     = Substitute.For <ILocalRepositoryModel>();
            var settings       = CreateSettings();
            var browser        = Substitute.For <IVisualStudioBrowser>();
            var prViewModel    = new PullRequestListViewModel(repositoryHost, repository, settings, browser);

            prViewModel.Initialize(null);
            prViewModel.PullRequests.Received(1).Filter = AnyFilter;

            prViewModel.SelectedAssignee = prViewModel.PullRequests[0].Assignee;
            prViewModel.PullRequests.Received(2).Filter = AnyFilter;
        }
        public void SelectingAuthorShouldTriggerFilter()
        {
            var connection  = Substitute.For <IConnection>();
            var factory     = CreateModelServiceFactory();
            var repository  = Substitute.For <ILocalRepositoryModel>();
            var settings    = CreateSettings();
            var browser     = Substitute.For <IVisualStudioBrowser>();
            var prViewModel = new PullRequestListViewModel(connection, factory, repository, settings, browser);

            prViewModel.Initialize(null);
            prViewModel.PullRequests.Received(1).Filter = AnyFilter;

            prViewModel.SelectedAuthor = prViewModel.PullRequests[0].Author;
            prViewModel.PullRequests.Received(2).Filter = AnyFilter;
        }
        public void ResettingAuthorToNoneShouldNotTriggerFilter()
        {
            var repositoryHost = CreateRepositoryHost();
            var repository     = Substitute.For <ILocalRepositoryModel>();
            var settings       = CreateSettings();
            var prViewModel    = new PullRequestListViewModel(repositoryHost, repository, settings);

            prViewModel.Initialize(null);
            prViewModel.PullRequests.Received(1).Filter = AnyFilter;

            prViewModel.SelectedAuthor = prViewModel.PullRequests[0].Author;
            prViewModel.PullRequests.Received(2).Filter = AnyFilter;

            // Setting the Author filter to [None] should not trigger a filter:
            // doing this will remove the [None] entry from Authors, which will cause
            // the selection in the view to be set to null which will reset the filter.
            prViewModel.SelectedAuthor = prViewModel.EmptyUser;
            prViewModel.PullRequests.Received(2).Filter = AnyFilter;
        }
        public void ResettingAssigneeToNoneShouldNotTriggerFilter()
        {
            var connection  = Substitute.For <IConnection>();
            var factory     = CreateModelServiceFactory();
            var repository  = Substitute.For <ILocalRepositoryModel>();
            var settings    = CreateSettings();
            var browser     = Substitute.For <IVisualStudioBrowser>();
            var prViewModel = new PullRequestListViewModel(connection, factory, repository, settings, browser);

            prViewModel.Initialize(null);
            prViewModel.PullRequests.Received(1).Filter = AnyFilter;

            prViewModel.SelectedAssignee = prViewModel.PullRequests[0].Assignee;
            prViewModel.PullRequests.Received(2).Filter = AnyFilter;

            // Setting the Assignee filter to [None] should not trigger a filter:
            // doing this will remove the [None] entry from Assignees, which will cause
            // the selection in the view to be set to null which will reset the filter.
            prViewModel.SelectedAssignee = prViewModel.EmptyUser;
            prViewModel.PullRequests.Received(2).Filter = AnyFilter;
        }