mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-05-22 22:46:08 +00:00
125 lines
5.2 KiB
C#
125 lines
5.2 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|