示例#1
0
        internal static IReadOnlyList <PullRequestViewModel> ConvertToViewModel(this IReadOnlyList <PullRequest> pullRequests)
        {
            if (pullRequests == null)
            {
                return(null);
            }

            var pullRequestViewModels = new PullRequestViewModel[pullRequests.Count];

            for (var i = 0; i < pullRequests.Count; i++)
            {
                pullRequestViewModels[i] = new PullRequestViewModel
                {
                    AuthorName     = pullRequests[i].AuthorName,
                    CreatedDate    = pullRequests[i].CreatedDate,
                    Description    = pullRequests[i].Description,
                    HtmlUrl        = pullRequests[i].HtmlUrl,
                    LastUpdateDate = pullRequests[i].LastUpdateDate,
                    Number         = pullRequests[i].Number,
                    Title          = pullRequests[i].Title
                };
            }

            return(pullRequestViewModels);
        }
示例#2
0
        /// <summary>
        /// Gets all pull request view models to display.
        /// </summary>
        /// <returns>Returns the pull request view models.</returns>
        public IEnumerable <PullRequestViewModel> GetPullRequestViewModels()
        {
            var pullRequests = this.QueryPullRequests();
            var list         = new List <PullRequestViewModel>();

            foreach (var pullRequest in pullRequests)
            {
                var pr = new PullRequestViewModel
                {
                    Created   = pullRequest.CreationDate.ToLocalTime(),
                    CreatedBy = pullRequest.CreatedBy.DisplayName,
                    CreatedByProfilePicture = pullRequest.CreatedBy.GetProfilePath(),
                    DestinationBranch       = pullRequest.TargetRefName,
                    PullRequestId           = pullRequest.PullRequestId,
                    MergeStatus             = pullRequest.MergeStatus.ToString(),
                    Repository     = pullRequest.Repository.Name,
                    SourceBranch   = pullRequest.SourceRefName,
                    Title          = pullRequest.Title,
                    BuildSucceeded = pullRequest.MergeStatus == PullRequestAsyncStatus.Succeeded,
                };
                list.Add(pr);
            }

            return(list);
        }
        public void TestCreated_ReturnsModelCreated()
        {
            var expectedCreatedDateTime = DateTime.UtcNow.AddDays(-30);
            var pullRequest             = Substitute.For <IPullRequest>();

            pullRequest.Created.Returns(expectedCreatedDateTime);
            var systemUnderTest = new PullRequestViewModel(pullRequest);

            Assert.That(systemUnderTest.Created, Is.EqualTo(expectedCreatedDateTime));
        }
        public void TestAuthorDisplayName_ReturnsModelAuthorDisplayName()
        {
            const string testAuthorDisplayName = "Test author display name";
            var          pullRequest           = Substitute.For <IPullRequest>();

            pullRequest.AuthorDisplayName.Returns(testAuthorDisplayName);
            var systemUnderTest = new PullRequestViewModel(pullRequest);

            Assert.That(systemUnderTest.Author, Is.EqualTo(testAuthorDisplayName));
        }
        public void TestTitle_ReturnsModelTitle()
        {
            const string testTitle   = "Test pull request title";
            var          pullRequest = Substitute.For <IPullRequest>();

            pullRequest.Title.Returns(testTitle);
            var systemUnderTest = new PullRequestViewModel(pullRequest);

            Assert.That(systemUnderTest.Title, Is.EqualTo(testTitle));
        }
        public void TestWebViewUri_ReturnsModelWebViewUri()
        {
            var pullRequest = Substitute.For <IPullRequest>();
            var webViewUri  = new Uri("https://made.up.domain");

            pullRequest.WebViewUri.Returns(webViewUri);
            var systemUnderTest = new PullRequestViewModel(pullRequest);

            Assert.That(systemUnderTest.WebViewUri, Is.EqualTo(webViewUri));
        }
示例#7
0
        private bool IsCompletedIn(PullRequestViewModel pullRequest, DateTime start, DateTime end)
        {
            if (!pullRequest.Completed.HasValue)
            {
                return(false);
            }

            var completed = pullRequest.Completed.Value;

            return(completed >= start && completed <= end);
        }
        public void TestRepository_ReturnsModelRepositoryName()
        {
            const string testRepositoryName = "Test repository name";
            var          pullRequest        = Substitute.For <IPullRequest>();
            var          repo = Substitute.For <ITfGitRepository>();

            repo.Name.Returns(testRepositoryName);
            pullRequest.Repository.Returns(repo);
            var systemUnderTest = new PullRequestViewModel(pullRequest);

            Assert.That(systemUnderTest.Repository, Is.EqualTo(testRepositoryName));
        }
示例#9
0
        public PullRequestView(string Owner, string Repo)
        {
            InitializeComponent();

            pullVm = new PullRequestViewModel(Owner, Repo);

            BindingContext = pullVm;

            pullVm.GetPullRequest.Execute(null);

            lstPullRqt.ItemsSource = pullVm.Pulls;
        }
示例#10
0
        public PullRequestViewController(string user, string slug, ulong id)
        {
            Title     = "Pull Request #".t() + id;
            ViewModel = new PullRequestViewModel(user, slug, id);

            Root.UnevenRows = true;
            _header         = new HeaderView(View.Bounds.Width)
            {
                ShadowImage = false
            };
            _split1 = new SplitElement(new SplitElement.Row {
                Image1 = Images.Cog, Image2 = Images.Merge
            })
            {
                BackgroundColor = UIColor.White
            };

            ViewModel.Bind(x => x.PullRequest, Render);
            ViewModel.BindCollection(x => x.Comments, e => Render());
        }
示例#11
0
        public PullRequestView()
        {
            InitializeComponent();

            ViewModel = new PullRequestViewModel();
        }
        public void TestId_ReturnsIdOfPullRequest(IPullRequest pullRequest)
        {
            var systemUnderTest = new PullRequestViewModel(pullRequest);

            Assert.That(systemUnderTest.Id, Is.EqualTo(pullRequest.Id));
        }
示例#13
0
 private bool IsCreatedIn(PullRequestViewModel pullRequest, DateTime start, DateTime end)
 {
     return(pullRequest.Created >= start && pullRequest.Created <= end);
 }
示例#14
0
 private bool IsAbandonedPullRequest(PullRequestViewModel pullRequest)
 {
     return(pullRequest.State == PullRequestState.Abandoned);
 }
示例#15
0
 private bool IsCompletedPullRequest(PullRequestViewModel pullRequest)
 {
     return(pullRequest.State == PullRequestState.Completed);
 }
示例#16
0
 private bool IsActivePullRequest(PullRequestViewModel pullRequest)
 {
     return(pullRequest.State == PullRequestState.Active);
 }