Added ApiOption overloads to methods on IRepositoryCommitsClient (#1247)

* Added ApiOptions overloads for RepositoryCommitClient methods

* Added overloads to Reactive clients

* Integration tests in progress

* Integration test addition in progress

* More integration tests added

* Added Ensure things

* Minor changes

* Minor changes

* Few changes

* Tried to fix errors

* Tried to fix errors

* Fixed a few things

* Fixed integration tests

* Tidying up

* Added public keyword

* Added unit tests for GetAll() in normal and reactive methods

* Minor changes

* Changed the class name

* Fixed the unit test
This commit is contained in:
Prayank Mathur
2016-04-11 02:58:01 +05:30
committed by Brendan Forster
parent 4ae6000ac1
commit 43f6cfe28b
15 changed files with 358 additions and 30 deletions

View File

@@ -0,0 +1,75 @@
using System.Linq;
using System.Threading.Tasks;
using Octokit.Reactive;
using System.Reactive.Linq;
using Xunit;
namespace Octokit.Tests.Integration.Reactive
{
public class ObservableRepositoryCommitsClientTests
{
public class TheGetAllMethod
{
readonly ObservableRepositoryCommitsClient _repositoryCommitsClient;
public TheGetAllMethod()
{
var client = Helper.GetAuthenticatedClient();
_repositoryCommitsClient = new ObservableRepositoryCommitsClient(client);
}
[IntegrationTest]
public async Task CanGetCorrectCountOfCommitsWithoutStart()
{
var options = new ApiOptions
{
PageSize = 5,
PageCount = 1
};
var commits = await _repositoryCommitsClient.GetAll("shiftkey", "ReactiveGit", options).ToList();
Assert.Equal(5, commits.Count);
}
[IntegrationTest]
public async Task CanGetCorrectCountOfCommitsWithStart()
{
var options = new ApiOptions
{
PageSize = 5,
PageCount = 1,
StartPage = 2
};
var commits = await _repositoryCommitsClient.GetAll("shiftkey", "ReactiveGit", options).ToList();
Assert.Equal(5, commits.Count);
}
[IntegrationTest]
public async Task ReturnsDistinctResultsBasedOnStart()
{
var startOptions = new ApiOptions
{
PageSize = 5,
PageCount = 1,
};
var skipStartOptions = new ApiOptions
{
PageSize = 5,
PageCount = 1,
StartPage = 2
};
var firstCommit = await _repositoryCommitsClient.GetAll("shiftkey", "ReactiveGit", startOptions).ToList();
var secondCommit = await _repositoryCommitsClient.GetAll("shiftkey", "ReactiveGit", skipStartOptions).ToList();
Assert.NotEqual(firstCommit[0].Sha, secondCommit[0].Sha);
Assert.NotEqual(firstCommit[1].Sha, secondCommit[1].Sha);
Assert.NotEqual(firstCommit[2].Sha, secondCommit[2].Sha);
Assert.NotEqual(firstCommit[3].Sha, secondCommit[3].Sha);
Assert.NotEqual(firstCommit[4].Sha, secondCommit[4].Sha);
}
}
}
}