From 84a39c5b5a76c7024661efd284e4aa74a9dea2e4 Mon Sep 17 00:00:00 2001 From: Gabriel Weyer Date: Wed, 23 Dec 2015 16:29:48 +1100 Subject: [PATCH] Added CommitUrl to IssueEvent --- .../Clients/IssuesEventsClientTests.cs | 25 +++++++++++++------ Octokit/Models/Response/IssueEvent.cs | 8 +++++- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Octokit.Tests.Integration/Clients/IssuesEventsClientTests.cs b/Octokit.Tests.Integration/Clients/IssuesEventsClientTests.cs index 68c3c2f6..61f9c919 100644 --- a/Octokit.Tests.Integration/Clients/IssuesEventsClientTests.cs +++ b/Octokit.Tests.Integration/Clients/IssuesEventsClientTests.cs @@ -9,7 +9,7 @@ using Octokit.Tests.Integration.Helpers; public class IssuesEventsClientTests : IDisposable { - private readonly IIssuesEventsClient _issuesEventsClientClient; + private readonly IIssuesEventsClient _issuesEventsClient; private readonly IIssuesClient _issuesClient; private readonly RepositoryContext _context; @@ -17,7 +17,7 @@ public class IssuesEventsClientTests : IDisposable { var github = Helper.GetAuthenticatedClient(); - _issuesEventsClientClient = github.Issue.Events; + _issuesEventsClient = github.Issue.Events; _issuesClient = github.Issue; var repoName = Helper.MakeNameWithTimestamp("public-repo"); @@ -30,13 +30,13 @@ public class IssuesEventsClientTests : IDisposable var newIssue = new NewIssue("a test issue") { Body = "A new unassigned issue" }; var issue = await _issuesClient.Create(_context.RepositoryOwner, _context.RepositoryName, newIssue); - var issueEventInfo = await _issuesEventsClientClient.GetAllForIssue(_context.RepositoryOwner, _context.RepositoryName, issue.Number); + var issueEventInfo = await _issuesEventsClient.GetAllForIssue(_context.RepositoryOwner, _context.RepositoryName, issue.Number); Assert.Empty(issueEventInfo); var closed = _issuesClient.Update(_context.RepositoryOwner, _context.RepositoryName, issue.Number, new IssueUpdate { State = ItemState.Closed }) .Result; Assert.NotNull(closed); - issueEventInfo = await _issuesEventsClientClient.GetAllForIssue(_context.RepositoryOwner, _context.RepositoryName, issue.Number); + issueEventInfo = await _issuesEventsClient.GetAllForIssue(_context.RepositoryOwner, _context.RepositoryName, issue.Number); Assert.Equal(1, issueEventInfo.Count); Assert.Equal(EventInfoState.Closed, issueEventInfo[0].Event); @@ -67,7 +67,7 @@ public class IssuesEventsClientTests : IDisposable .Result; Assert.NotNull(closed2); - var issueEvents = await _issuesEventsClientClient.GetAllForRepository(_context.RepositoryOwner, _context.RepositoryName); + var issueEvents = await _issuesEventsClient.GetAllForRepository(_context.RepositoryOwner, _context.RepositoryName); Assert.Equal(3, issueEvents.Count); Assert.Equal(2, issueEvents.Count(issueEvent => issueEvent.Issue.Body == "Everything's coming up Millhouse")); @@ -81,10 +81,10 @@ public class IssuesEventsClientTests : IDisposable var closed = _issuesClient.Update(_context.RepositoryOwner, _context.RepositoryName, issue.Number, new IssueUpdate { State = ItemState.Closed }) .Result; Assert.NotNull(closed); - var issueEvents = await _issuesEventsClientClient.GetAllForRepository(_context.RepositoryOwner, _context.RepositoryName); + var issueEvents = await _issuesEventsClient.GetAllForRepository(_context.RepositoryOwner, _context.RepositoryName); int issueEventId = issueEvents[0].Id; - var issueEventLookupById = await _issuesEventsClientClient.Get(_context.RepositoryOwner, _context.RepositoryName, issueEventId); + var issueEventLookupById = await _issuesEventsClient.Get(_context.RepositoryOwner, _context.RepositoryName, issueEventId); Assert.Equal(issueEventId, issueEventLookupById.Id); Assert.Equal(issueEvents[0].Event, issueEventLookupById.Event); @@ -98,6 +98,17 @@ public class IssuesEventsClientTests : IDisposable Assert.Equal(EventInfoState.Unsubscribed, issue.Event); } + [IntegrationTest] + public async Task CanDeserializeMergedEvent() + { + var issueEvent = await _issuesEventsClient.Get("octokit", "octokit.net", 490490630); + + Assert.NotNull(issueEvent); + Assert.Equal(EventInfoState.Merged, issueEvent.Event); + Assert.Equal("0bb8747a0ad1a9efff201ea017a0a6a4f69b797e", issueEvent.CommitId); + Assert.Equal(new Uri("https://api.github.com/repos/octokit/octokit.net/commits/0bb8747a0ad1a9efff201ea017a0a6a4f69b797e"), issueEvent.CommitUrl); + } + public void Dispose() { _context.Dispose(); diff --git a/Octokit/Models/Response/IssueEvent.cs b/Octokit/Models/Response/IssueEvent.cs index 04c0323d..5e88095a 100644 --- a/Octokit/Models/Response/IssueEvent.cs +++ b/Octokit/Models/Response/IssueEvent.cs @@ -9,7 +9,7 @@ namespace Octokit { public IssueEvent() { } - public IssueEvent(int id, Uri url, User actor, User assignee, Label label, EventInfoState @event, string commitId, DateTimeOffset createdAt, Issue issue) + public IssueEvent(int id, Uri url, User actor, User assignee, Label label, EventInfoState @event, string commitId, DateTimeOffset createdAt, Issue issue, Uri commitUrl) { Id = id; Url = url; @@ -20,6 +20,7 @@ namespace Octokit CommitId = commitId; CreatedAt = createdAt; Issue = issue; + CommitUrl = commitUrl; } /// @@ -57,6 +58,11 @@ namespace Octokit /// public string CommitId { get; protected set; } + /// + /// The commit URL of a commit that referenced this issue. + /// + public Uri CommitUrl { get; protected set; } + /// /// Date the event occurred for the issue/pull request. ///