mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-19 05:35:11 +00:00
721 lines
22 KiB
C#
721 lines
22 KiB
C#
using System;
|
|
using System.Reactive.Linq;
|
|
using System.Threading.Tasks;
|
|
using Octokit;
|
|
using Octokit.Reactive;
|
|
using Octokit.Tests.Integration;
|
|
using Xunit;
|
|
|
|
public class ObservableGistClientTests
|
|
{
|
|
public class TheGetAllMethod
|
|
{
|
|
readonly ObservableGistsClient _gistsClient;
|
|
|
|
public TheGetAllMethod()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
|
|
_gistsClient = new ObservableGistsClient(github);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsGists()
|
|
{
|
|
var gists = await _gistsClient.GetAll().ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfGistsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAll(options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfGistsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAll(options).ToList();
|
|
|
|
Assert.Equal(4, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstGistsPage = await _gistsClient.GetAll(startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondGistsPage = await _gistsClient.GetAll(skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstGistsPage[0].Id, secondGistsPage[0].Id);
|
|
Assert.NotEqual(firstGistsPage[1].Id, secondGistsPage[1].Id);
|
|
Assert.NotEqual(firstGistsPage[2].Id, secondGistsPage[2].Id);
|
|
Assert.NotEqual(firstGistsPage[3].Id, secondGistsPage[3].Id);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsGistsSince()
|
|
{
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAll(since).ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfGistsSinceWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAll(since, options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfGistsSinceWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAll(since, options).ToList();
|
|
|
|
Assert.Equal(4, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctGistsSinceBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var firstGistsPage = await _gistsClient.GetAll(since, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondGistsPage = await _gistsClient.GetAll(since, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstGistsPage[0].Id, secondGistsPage[0].Id);
|
|
Assert.NotEqual(firstGistsPage[1].Id, secondGistsPage[1].Id);
|
|
Assert.NotEqual(firstGistsPage[2].Id, secondGistsPage[2].Id);
|
|
Assert.NotEqual(firstGistsPage[3].Id, secondGistsPage[3].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllPublicMethod
|
|
{
|
|
readonly ObservableGistsClient _gistsClient;
|
|
|
|
public TheGetAllPublicMethod()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
|
|
_gistsClient = new ObservableGistsClient(github);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsPublicGists()
|
|
{
|
|
var gists = await _gistsClient.GetAllPublic().ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfPublicGistsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAllPublic(options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfPublicGistsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAllPublic(options).ToList();
|
|
|
|
Assert.Equal(4, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstPublicGistsPage = await _gistsClient.GetAllPublic(startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondPublicGistsPage = await _gistsClient.GetAllPublic(skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstPublicGistsPage[0].Id, secondPublicGistsPage[0].Id);
|
|
Assert.NotEqual(firstPublicGistsPage[1].Id, secondPublicGistsPage[1].Id);
|
|
Assert.NotEqual(firstPublicGistsPage[2].Id, secondPublicGistsPage[2].Id);
|
|
Assert.NotEqual(firstPublicGistsPage[3].Id, secondPublicGistsPage[3].Id);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsPublicGistsSince()
|
|
{
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllPublic(since).ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfPublicGistsSinceWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllPublic(since, options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfPublicGistsSinceWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllPublic(since, options).ToList();
|
|
|
|
Assert.Equal(4, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctPublicGistsSinceBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var firstPublicGistsPage = await _gistsClient.GetAllPublic(since, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 4,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondPublicGistsPage = await _gistsClient.GetAllPublic(since, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstPublicGistsPage[0].Id, secondPublicGistsPage[0].Id);
|
|
Assert.NotEqual(firstPublicGistsPage[1].Id, secondPublicGistsPage[1].Id);
|
|
Assert.NotEqual(firstPublicGistsPage[2].Id, secondPublicGistsPage[2].Id);
|
|
Assert.NotEqual(firstPublicGistsPage[3].Id, secondPublicGistsPage[3].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllStarredMethod
|
|
{
|
|
readonly ObservableGistsClient _gistsClient;
|
|
|
|
public TheGetAllStarredMethod()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
|
|
_gistsClient = new ObservableGistsClient(github);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsStartedGists()
|
|
{
|
|
var gists = await _gistsClient.GetAllStarred().ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfStartedGistsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAllStarred(options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfStartedGistsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAllStarred(options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstStartedGistsPage = await _gistsClient.GetAllStarred(startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondStartedGistsPage = await _gistsClient.GetAllStarred(skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstStartedGistsPage[0].Id, secondStartedGistsPage[0].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[1].Id, secondStartedGistsPage[1].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[2].Id, secondStartedGistsPage[2].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[3].Id, secondStartedGistsPage[3].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[4].Id, secondStartedGistsPage[4].Id);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsStartedGistsSince()
|
|
{
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllStarred(since).ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfStartedGistsSinceWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllStarred(since, options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfStartedGistsSinceWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllStarred(since, options).ToList();
|
|
|
|
Assert.Equal(5, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctStartedGistsSinceBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var firstStartedGistsPage = await _gistsClient.GetAllStarred(since, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondStartedGistsPage = await _gistsClient.GetAllStarred(since, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstStartedGistsPage[0].Id, secondStartedGistsPage[0].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[1].Id, secondStartedGistsPage[1].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[2].Id, secondStartedGistsPage[2].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[3].Id, secondStartedGistsPage[3].Id);
|
|
Assert.NotEqual(firstStartedGistsPage[4].Id, secondStartedGistsPage[4].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllForUserMethod
|
|
{
|
|
readonly ObservableGistsClient _gistsClient;
|
|
const string user = "shiftkey";
|
|
|
|
public TheGetAllForUserMethod()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
|
|
_gistsClient = new ObservableGistsClient(github);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsUserGists()
|
|
{
|
|
var gists = await _gistsClient.GetAllForUser(user).ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserGistsWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAllForUser(user, options).ToList();
|
|
|
|
Assert.Equal(3, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserGistsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var gists = await _gistsClient.GetAllForUser(user, options).ToList();
|
|
|
|
Assert.Equal(3, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstUsersGistsPage = await _gistsClient.GetAllForUser(user, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondUsersGistsPage = await _gistsClient.GetAllForUser(user, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstUsersGistsPage[0].Id, secondUsersGistsPage[0].Id);
|
|
Assert.NotEqual(firstUsersGistsPage[1].Id, secondUsersGistsPage[1].Id);
|
|
Assert.NotEqual(firstUsersGistsPage[2].Id, secondUsersGistsPage[2].Id);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsUserGistsSince()
|
|
{
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllForUser(user, since).ToList();
|
|
|
|
Assert.NotEmpty(gists);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserGistsSinceWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllForUser(user, since, options).ToList();
|
|
|
|
Assert.Equal(3, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfUserGistsSinceWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var gists = await _gistsClient.GetAllForUser(user, since, options).ToList();
|
|
|
|
Assert.Equal(3, gists.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctUserGistsSinceBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1
|
|
};
|
|
var since = new DateTimeOffset(new DateTime(2016, 1, 1));
|
|
var firstUserGistsPage = await _gistsClient.GetAllForUser(user, since, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondUserGistsPage = await _gistsClient.GetAllForUser(user, since, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstUserGistsPage[0].Id, secondUserGistsPage[0].Id);
|
|
Assert.NotEqual(firstUserGistsPage[1].Id, secondUserGistsPage[1].Id);
|
|
Assert.NotEqual(firstUserGistsPage[2].Id, secondUserGistsPage[2].Id);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllCommitsMethod
|
|
{
|
|
readonly ObservableGistsClient _gistsClient;
|
|
const string gistId = "670c22f3966e662d2f83";
|
|
|
|
public TheGetAllCommitsMethod()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
|
|
_gistsClient = new ObservableGistsClient(github);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsGistCommits()
|
|
{
|
|
var gistCommits = await _gistsClient.GetAllCommits(gistId).ToList();
|
|
|
|
Assert.NotEmpty(gistCommits);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfGistCommisWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1
|
|
};
|
|
|
|
var gistCommits = await _gistsClient.GetAllCommits(gistId, options).ToList();
|
|
|
|
Assert.Equal(3, gistCommits.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountGistCommitsWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var gistCommits = await _gistsClient.GetAllCommits(gistId, options).ToList();
|
|
|
|
Assert.Equal(3, gistCommits.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstGistCommitsPage = await _gistsClient.GetAllCommits(gistId, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 3,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondGistCommitsPage = await _gistsClient.GetAllCommits(gistId, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstGistCommitsPage[0].Url, secondGistCommitsPage[0].Url);
|
|
Assert.NotEqual(firstGistCommitsPage[1].Url, secondGistCommitsPage[1].Url);
|
|
Assert.NotEqual(firstGistCommitsPage[2].Url, secondGistCommitsPage[2].Url);
|
|
}
|
|
}
|
|
|
|
public class TheGetAllForksMethod
|
|
{
|
|
readonly ObservableGistsClient _gistsClient;
|
|
const string gistId = "670c22f3966e662d2f83";
|
|
|
|
public TheGetAllForksMethod()
|
|
{
|
|
var github = Helper.GetAuthenticatedClient();
|
|
|
|
_gistsClient = new ObservableGistsClient(github);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsGistCommits()
|
|
{
|
|
var gistForks = await _gistsClient.GetAllForks(gistId).ToList();
|
|
|
|
Assert.NotEmpty(gistForks);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountOfGistForksWithoutStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var gistForks = await _gistsClient.GetAllForks(gistId, options).ToList();
|
|
|
|
Assert.Equal(5, gistForks.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsCorrectCountGistForksWithStart()
|
|
{
|
|
var options = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var gistForks = await _gistsClient.GetAllForks(gistId, options).ToList();
|
|
|
|
Assert.Equal(5, gistForks.Count);
|
|
}
|
|
|
|
[IntegrationTest]
|
|
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
|
{
|
|
var startOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1
|
|
};
|
|
|
|
var firstGistForksPage = await _gistsClient.GetAllForks(gistId, startOptions).ToList();
|
|
|
|
var skipStartOptions = new ApiOptions
|
|
{
|
|
PageSize = 5,
|
|
PageCount = 1,
|
|
StartPage = 2
|
|
};
|
|
|
|
var secondGistForksPage = await _gistsClient.GetAllForks(gistId, skipStartOptions).ToList();
|
|
|
|
Assert.NotEqual(firstGistForksPage[0].Url, secondGistForksPage[0].Url);
|
|
Assert.NotEqual(firstGistForksPage[1].Url, secondGistForksPage[1].Url);
|
|
Assert.NotEqual(firstGistForksPage[2].Url, secondGistForksPage[2].Url);
|
|
Assert.NotEqual(firstGistForksPage[3].Url, secondGistForksPage[3].Url);
|
|
Assert.NotEqual(firstGistForksPage[4].Url, secondGistForksPage[4].Url);
|
|
}
|
|
}
|
|
}
|
|
|