From 9c1ace9324a1e75fa482c124309456b2c115899b Mon Sep 17 00:00:00 2001 From: Keith Dahlby Date: Thu, 31 Oct 2013 23:18:18 -0500 Subject: [PATCH] Add ObservableMilestoneClient int tests --- .../Octokit.Tests.Integration.csproj | 1 + .../ObservableMilestonesClientTests.cs | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 Octokit.Tests.Integration/Reactive/ObservableMilestonesClientTests.cs diff --git a/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj b/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj index c0b63d67..51a5a58f 100644 --- a/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj +++ b/Octokit.Tests.Integration/Octokit.Tests.Integration.csproj @@ -61,6 +61,7 @@ + diff --git a/Octokit.Tests.Integration/Reactive/ObservableMilestonesClientTests.cs b/Octokit.Tests.Integration/Reactive/ObservableMilestonesClientTests.cs new file mode 100644 index 00000000..2b28cd6f --- /dev/null +++ b/Octokit.Tests.Integration/Reactive/ObservableMilestonesClientTests.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)); + } + } + } +}