public void CreatesReleaseNotesForClosedGitHubIssues() { issuesClient .GetForRepository("Org", "Repo", Arg.Any <RepositoryIssueRequest>()) .Returns(Task.FromResult <IReadOnlyList <Issue> >(new List <Issue> { new Issue { Number = 1, Title = "Issue Title", Labels = new Collection <Label>(), ClosedAt = DateTimeOffset.Now, PullRequest = new PullRequest(), User = new User { Login = "******", Name = "Foo", HtmlUrl = "http://github.com/foo" } } }.AsReadOnly())); var closedIssues = sut.GetClosedIssues(DateTimeOffset.Now.AddDays(-2)); var onlineIssue = closedIssues.Single(); onlineIssue.Title.ShouldBe("Issue Title"); onlineIssue.Id.ShouldBe("#1"); onlineIssue.Contributors.ShouldContain(c => c.Username == "User" && c.Name == "Foo" && c.Url == "http://github.com/foo"); }
public async Task CanCreateRetrieveAndCloseIssue() { string owner = _repository.Owner.Login; var newIssue = new NewIssue("a test issue") { Body = "A new unassigned issue" }; var issue = await _issuesClient.Create(owner, _repository.Name, newIssue); try { Assert.NotNull(issue); var retrieved = await _issuesClient.Get(owner, _repository.Name, issue.Number); var all = await _issuesClient.GetForRepository(owner, _repository.Name); Assert.NotNull(retrieved); Assert.True(all.Any(i => i.Number == retrieved.Number)); } finally { var closed = _issuesClient.Update(owner, _repository.Name, issue.Number, new IssueUpdate { State = ItemState.Closed }) .Result; Assert.NotNull(closed); } }
public void CreatesReleaseNotesForClosedGitHubIssues() { issuesClient .GetForRepository("Org", "Repo", Arg.Any <RepositoryIssueRequest>()) .Returns(Task.FromResult <IReadOnlyList <Issue> >(new List <Issue> { new Issue(null, null, 1, ItemState.Closed, "Issue Title", string.Empty, new TestUser("User", "Foo", "http://github.com/name"), new Collection <Label>(), null, null, 0, new PullRequest(), DateTimeOffset.Now, DateTimeOffset.Now, DateTimeOffset.Now) }.AsReadOnly())); var closedIssues = sut.GetClosedIssues(new GitHubContext(), DateTimeOffset.Now.AddDays(-2)); var onlineIssue = closedIssues.Single(); onlineIssue.Title.ShouldBe("Issue Title"); onlineIssue.Id.ShouldBe("#1"); onlineIssue.Contributors.ShouldContain(c => c.Username == "User" && c.Name == "Foo" && c.Url == "http://github.com/name"); }