mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-05-31 10:12:38 +00:00
Add ApiOption overloads to methods on I(Observable)OrganizationsClient (#1324)
This commit is contained in:
committed by
Brendan Forster
parent
921511f8d2
commit
a29752d363
@@ -0,0 +1,124 @@
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace Octokit.Tests.Integration.Clients
|
||||
{
|
||||
public class OrganizationClientTests
|
||||
{
|
||||
public class TheGetAllMethod
|
||||
{
|
||||
readonly IGitHubClient _github;
|
||||
readonly IOrganizationsClient _organizationsClient;
|
||||
|
||||
public TheGetAllMethod()
|
||||
{
|
||||
_github = EnterpriseHelper.GetAuthenticatedClient();
|
||||
|
||||
_organizationsClient = _github.Organization;
|
||||
}
|
||||
|
||||
[GitHubEnterpriseTest]
|
||||
public async Task CanListOrganizations()
|
||||
{
|
||||
string orgLogin = Helper.MakeNameWithTimestamp("MyOrganization");
|
||||
string orgName = string.Concat(orgLogin, " Display Name");
|
||||
|
||||
var newOrganization = new NewOrganization(orgLogin, EnterpriseHelper.UserName, orgName);
|
||||
var organization = await
|
||||
_github.Enterprise.Organization.Create(newOrganization);
|
||||
|
||||
Assert.NotNull(organization);
|
||||
|
||||
var milestones = await _organizationsClient.GetAllForCurrent();
|
||||
|
||||
Assert.NotEmpty(milestones);
|
||||
}
|
||||
|
||||
[GitHubEnterpriseTest]
|
||||
public async Task ReturnsCorrectCountOfOrganizationsWithoutStart()
|
||||
{
|
||||
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
||||
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
||||
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
||||
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
||||
|
||||
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
||||
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
||||
await _github.Enterprise.Organization.Create(newOrganization1);
|
||||
await _github.Enterprise.Organization.Create(newOrganization2);
|
||||
|
||||
var options = new ApiOptions
|
||||
{
|
||||
PageSize = 2,
|
||||
PageCount = 1
|
||||
};
|
||||
|
||||
var organizations = await _organizationsClient.GetAllForCurrent(options);
|
||||
|
||||
Assert.Equal(2, organizations.Count);
|
||||
}
|
||||
|
||||
[GitHubEnterpriseTest]
|
||||
public async Task ReturnsCorrectCountOfOrganizationsWithStart()
|
||||
{
|
||||
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
||||
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
||||
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
||||
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
||||
|
||||
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
||||
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
||||
await _github.Enterprise.Organization.Create(newOrganization1);
|
||||
await _github.Enterprise.Organization.Create(newOrganization2);
|
||||
|
||||
var options = new ApiOptions
|
||||
{
|
||||
PageSize = 1,
|
||||
PageCount = 1,
|
||||
StartPage = 2,
|
||||
};
|
||||
|
||||
var organizations = await _organizationsClient.GetAllForCurrent(options);
|
||||
|
||||
Assert.Equal(1, organizations.Count);
|
||||
}
|
||||
|
||||
[GitHubEnterpriseTest]
|
||||
public async Task ReturnsDistinctResultsBasedOnStartPage()
|
||||
{
|
||||
string orgLogin1 = Helper.MakeNameWithTimestamp("MyOrganization1");
|
||||
string orgName1 = string.Concat(orgLogin1, " Display Name 1");
|
||||
string orgLogin2 = Helper.MakeNameWithTimestamp("MyOrganization2");
|
||||
string orgName2 = string.Concat(orgLogin2, " Display Name 2");
|
||||
string orgLogin3 = Helper.MakeNameWithTimestamp("MyOrganization3");
|
||||
string orgName3 = string.Concat(orgLogin3, " Display Name 3");
|
||||
|
||||
var newOrganization1 = new NewOrganization(orgLogin1, EnterpriseHelper.UserName, orgName1);
|
||||
var newOrganization2 = new NewOrganization(orgLogin2, EnterpriseHelper.UserName, orgName2);
|
||||
var newOrganization3 = new NewOrganization(orgLogin3, EnterpriseHelper.UserName, orgName3);
|
||||
await _github.Enterprise.Organization.Create(newOrganization1);
|
||||
await _github.Enterprise.Organization.Create(newOrganization2);
|
||||
await _github.Enterprise.Organization.Create(newOrganization3);
|
||||
|
||||
var startOptions = new ApiOptions
|
||||
{
|
||||
PageSize = 1,
|
||||
PageCount = 1
|
||||
};
|
||||
|
||||
var firstPage = await _organizationsClient.GetAllForCurrent(startOptions);
|
||||
|
||||
var skipStartOptions = new ApiOptions
|
||||
{
|
||||
PageSize = 1,
|
||||
PageCount = 1,
|
||||
StartPage = 2
|
||||
};
|
||||
|
||||
var secondPage = await _organizationsClient.GetAllForCurrent(skipStartOptions);
|
||||
|
||||
Assert.NotEqual(firstPage[0].Login, secondPage[0].Login);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user