mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-06 07:16:09 +00:00
added integration tests
This commit is contained in:
@@ -20,6 +20,176 @@ namespace Octokit.Tests.Integration.Clients
|
||||
Assert.Equal("TeamBinary", masterFork.Owner.Login);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsCorrectCountOfForksWithoutStart()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
var options = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 1
|
||||
};
|
||||
|
||||
var forks = await github.Repository.Forks.GetAll("octokit", "octokit.net", options);
|
||||
|
||||
Assert.Equal(1, forks.Count);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsCorrectCountOfForksWithStart()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
var options = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 1,
|
||||
StartPage = 1
|
||||
};
|
||||
|
||||
var forks = await github.Repository.Forks.GetAll("octokit", "octokit.net", options);
|
||||
|
||||
Assert.Equal(1, forks.Count);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsDistinctForksBasedOnStartPage()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
var startOptions = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 3,
|
||||
StartPage = 1
|
||||
};
|
||||
|
||||
var firstPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", startOptions);
|
||||
|
||||
var skipStartOptions = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 3,
|
||||
StartPage = 2
|
||||
};
|
||||
|
||||
var secondPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", skipStartOptions);
|
||||
|
||||
Assert.Equal(3, firstPage.Count);
|
||||
Assert.Equal(3, secondPage.Count);
|
||||
Assert.NotEqual(firstPage[0].Id, secondPage[0].Id);
|
||||
Assert.NotEqual(firstPage[1].Id, secondPage[1].Id);
|
||||
Assert.NotEqual(firstPage[2].Id, secondPage[2].Id);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsCorrectCountOfForksWithoutStartParameterized()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
var options = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 1
|
||||
};
|
||||
|
||||
var repositoryForksListRequest = new RepositoryForksListRequest { Sort = Sort.Newest };
|
||||
|
||||
var forks = await github.Repository.Forks.GetAll("octokit", "octokit.net", repositoryForksListRequest, options);
|
||||
|
||||
Assert.Equal(1, forks.Count);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsCorrectCountOfForksWithStartParameterized()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
var options = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 1,
|
||||
StartPage = 1
|
||||
};
|
||||
|
||||
var repositoryForksListRequest = new RepositoryForksListRequest { Sort = Sort.Newest };
|
||||
|
||||
var forks = await github.Repository.Forks.GetAll("octokit", "octokit.net", repositoryForksListRequest, options);
|
||||
|
||||
Assert.Equal(1, forks.Count);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsDistinctForksBasedOnStartPageParameterized()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
var repositoryForksListRequest = new RepositoryForksListRequest { Sort = Sort.Newest };
|
||||
|
||||
var startOptions = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 3,
|
||||
StartPage = 1
|
||||
};
|
||||
|
||||
var firstPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", repositoryForksListRequest, startOptions);
|
||||
|
||||
var skipStartOptions = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 3,
|
||||
StartPage = 2
|
||||
};
|
||||
|
||||
var secondPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", repositoryForksListRequest, skipStartOptions);
|
||||
|
||||
Assert.Equal(3, firstPage.Count);
|
||||
Assert.Equal(3, secondPage.Count);
|
||||
Assert.NotEqual(firstPage[0].Id, secondPage[0].Id);
|
||||
Assert.NotEqual(firstPage[1].Id, secondPage[1].Id);
|
||||
Assert.NotEqual(firstPage[2].Id, secondPage[2].Id);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsForksForRepositorySortingTheResultWithOldestFirstWithApiOptions()
|
||||
{
|
||||
var github = Helper.GetAuthenticatedClient();
|
||||
|
||||
var repositoryForksListRequest = new RepositoryForksListRequest { Sort = Sort.Oldest };
|
||||
|
||||
var startOptions = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 3,
|
||||
StartPage = 1
|
||||
};
|
||||
|
||||
var firstPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", repositoryForksListRequest, startOptions);
|
||||
var firstPageOrdered = firstPage.OrderBy(r => r.CreatedAt).ToList();
|
||||
|
||||
var skipStartOptions = new ApiOptions
|
||||
{
|
||||
PageCount = 1,
|
||||
PageSize = 3,
|
||||
StartPage = 1
|
||||
};
|
||||
|
||||
var secondPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", repositoryForksListRequest, skipStartOptions);
|
||||
var secondPageOrdered = secondPage.OrderBy(r => r.CreatedAt).ToList();
|
||||
|
||||
for (var index = 0; index < firstPage.Count; index++)
|
||||
{
|
||||
Assert.Equal(firstPageOrdered[index].FullName, firstPage[index].FullName);
|
||||
}
|
||||
|
||||
for (var index = 0; index < firstPage.Count; index++)
|
||||
{
|
||||
Assert.Equal(secondPageOrdered[index].FullName, secondPage[index].FullName);
|
||||
}
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task ReturnsForksForRepositorySortingTheResultWithOldestFirst()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user