added tests for edge case scenarios

This commit is contained in:
Brendan Forster
2014-02-18 19:27:26 +11:00
parent 1a36dfab59
commit d43bf502b3
@@ -57,6 +57,49 @@ public class PullRequestsClientTests : IDisposable
Assert.False(result.Merged);
}
[IntegrationTest]
public async Task CanGetForRepository()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", "my-branch", "master");
var pullRequest = await _pullRequestsClient.Create(Helper.UserName, _repository.Name, newPullRequest);
var requests = await _pullRequestsClient.GetForRepository(Helper.UserName, _repository.Name);
Assert.Equal(1, requests.Count);
Assert.Equal(pullRequest.Title, requests[0].Title);
}
[IntegrationTest]
public async Task CanGetOpenPullRequest()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", "my-branch", "master");
var pullRequest = await _pullRequestsClient.Create(Helper.UserName, _repository.Name, newPullRequest);
var openPullRequests = new PullRequestRequest() { State = ItemState.Open };
var requests = await _pullRequestsClient.GetForRepository(Helper.UserName, _repository.Name, openPullRequests);
Assert.Equal(1, requests.Count);
Assert.Equal(pullRequest.Title, requests[0].Title);
}
[IntegrationTest]
public async Task IgnoresOpenPullRequest()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", "my-branch", "master");
var pullRequest = await _pullRequestsClient.Create(Helper.UserName, _repository.Name, newPullRequest);
var openPullRequests = new PullRequestRequest { State = ItemState.Closed };
var requests = await _pullRequestsClient.GetForRepository(Helper.UserName, _repository.Name, openPullRequests);
Assert.Empty(requests);
}
[IntegrationTest]
public async Task CanUpdate()
{
@@ -88,6 +131,23 @@ public class PullRequestsClientTests : IDisposable
Assert.Equal(pullRequest.Body, result.Body);
}
[IntegrationTest]
public async Task CanFindClosedPullRequest()
{
await CreateTheWorld();
var newPullRequest = new NewPullRequest("a pull request", "my-branch", "master");
var pullRequest = await _pullRequestsClient.Create(Helper.UserName, _repository.Name, newPullRequest);
var updatePullRequest = new PullRequestUpdate { State = ItemState.Closed };
await _pullRequestsClient.Update(Helper.UserName, _repository.Name, pullRequest.Number, updatePullRequest);
var closedPullRequests = new PullRequestRequest() { State = ItemState.Closed };
var requests = await _pullRequestsClient.GetForRepository(Helper.UserName, _repository.Name, closedPullRequests);
Assert.Equal(1, requests.Count);
}
[IntegrationTest]
public async Task IsNotMergedInitially()
{