Files
octokit.net/Octokit.Tests.Integration/Clients/OrganizationClientTests.cs

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);
}
}
}
}