コード例 #1
0
    public async Task CanListIssueEventsForARepository()
    {
        // create 2 new issues
        var newIssue1 = new NewIssue("A test issue1")
        {
            Body = "Everything's coming up Millhouse"
        };
        var newIssue2 = new NewIssue("A test issue2")
        {
            Body = "A new unassigned issue"
        };

        var issue1 = await _issuesClient.Create(_repositoryOwner, _repository.Name, newIssue1);

        Thread.Sleep(1000);
        var issue2 = await _issuesClient.Create(_repositoryOwner, _repository.Name, newIssue2);

        Thread.Sleep(1000);

        // close and open issue1
        var closed1 = _issuesClient.Update(_repositoryOwner, _repository.Name, issue1.Number, new IssueUpdate {
            State = ItemState.Closed
        })
                      .Result;

        Assert.NotNull(closed1);
        var reopened1 = _issuesClient.Update(_repositoryOwner, _repository.Name, issue1.Number, new IssueUpdate {
            State = ItemState.Open
        })
                        .Result;

        Assert.NotNull(reopened1);

        // close issue2
        var closed2 = _issuesClient.Update(_repositoryOwner, _repository.Name, issue2.Number, new IssueUpdate {
            State = ItemState.Closed
        })
                      .Result;

        Assert.NotNull(closed2);

        var issueEvents = await _issuesEventsClientClient.GetForRepository(_repositoryOwner, _repositoryName);

        Assert.Equal(3, issueEvents.Count);
        Assert.Equal(2, issueEvents.Count(issueEvent => issueEvent.Issue.Body == "Everything's coming up Millhouse"));
    }