Add ObservableMilestoneClient int tests

This commit is contained in:
Keith Dahlby
2013-10-31 23:18:18 -05:00
parent e549376bb8
commit 9c1ace9324
2 changed files with 46 additions and 0 deletions
@@ -61,6 +61,7 @@
<Compile Include="IntegrationTestAttribute.cs" />
<Compile Include="IssuesClientTests.cs" />
<Compile Include="MiscellaneousClientTests.cs" />
<Compile Include="Reactive\ObservableMilestonesClientTests.cs" />
<Compile Include="Reactive\ObservableRepositoriesClientTests.cs" />
<Compile Include="ReleasesClientTests.cs" />
<Compile Include="RepositoriesClientTests.cs" />
@@ -0,0 +1,45 @@
using System.Linq;
using System.Net.Http.Headers;
using System.Reactive.Linq;
using System.Threading.Tasks;
using Octokit.Reactive.Clients;
using Xunit;
namespace Octokit.Tests.Integration
{
public class ObservableMilestonesClientTests
{
public class TheGetMethod
{
[IntegrationTest]
public async Task ReturnsSpecifiedMilestone()
{
var github = new GitHubClient(new ProductHeaderValue("OctokitTests"))
{
Credentials = Helper.Credentials
};
var client = new ObservableMilestonesClient(github);
var observable = client.Get("libgit2", "libgit2sharp", 1);
var milestone = await observable;
Assert.Equal(1, milestone.Number);
Assert.Equal("v0.4.0", milestone.Title);
Assert.Equal(7, milestone.ClosedIssues);
}
[IntegrationTest]
public void ReturnsAllMilestones()
{
var github = new GitHubClient(new ProductHeaderValue("OctokitTests"))
{
Credentials = Helper.Credentials
};
var client = new ObservableMilestonesClient(github);
var milestones = client.GetForRepository("libgit2", "libgit2sharp", new MilestoneRequest { State = ItemState.Closed }).ToList().Wait();
Assert.NotEmpty(milestones);
Assert.True(milestones.All(m => m.State == ItemState.Closed));
}
}
}
}