From 6a66bf9a1ec517fdf934c277271f3fa1d08a83ec Mon Sep 17 00:00:00 2001 From: Amy Palamountain Date: Sat, 11 Jan 2014 11:06:22 +1300 Subject: [PATCH] Observable Client tests --- Octokit.Tests/Octokit.Tests.csproj | 1 + .../ObservableMilestonesClientTests.cs | 1 - .../ObservableStatisticsClientTests.cs | 41 +++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 Octokit.Tests/Reactive/ObservableStatisticsClientTests.cs diff --git a/Octokit.Tests/Octokit.Tests.csproj b/Octokit.Tests/Octokit.Tests.csproj index 05307427..e93b79b9 100644 --- a/Octokit.Tests/Octokit.Tests.csproj +++ b/Octokit.Tests/Octokit.Tests.csproj @@ -145,6 +145,7 @@ + diff --git a/Octokit.Tests/Reactive/ObservableMilestonesClientTests.cs b/Octokit.Tests/Reactive/ObservableMilestonesClientTests.cs index 35b1666d..c571bc65 100644 --- a/Octokit.Tests/Reactive/ObservableMilestonesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableMilestonesClientTests.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Reactive.Linq; using System.Threading.Tasks; using NSubstitute; -using Octokit; using Octokit.Internal; using Octokit.Reactive; using Octokit.Tests.Helpers; diff --git a/Octokit.Tests/Reactive/ObservableStatisticsClientTests.cs b/Octokit.Tests/Reactive/ObservableStatisticsClientTests.cs new file mode 100644 index 00000000..8bd6c2d0 --- /dev/null +++ b/Octokit.Tests/Reactive/ObservableStatisticsClientTests.cs @@ -0,0 +1,41 @@ +using System; +using System.Reactive.Linq; +using System.Threading.Tasks; +using NSubstitute; +using Octokit.Reactive; +using Octokit.Tests.Helpers; +using Xunit; + +namespace Octokit.Tests.Reactive +{ + public class ObservableStatisticsClientTests + { + public class TheGetMethod + { + [Fact] + public void GetsFromClientIssueMilestone() + { + var gitHubClient = Substitute.For(); + var statisticsClient = new ObservableStatisticsClient(gitHubClient); + + statisticsClient.GetContributors("username", "repositoryName"); + + gitHubClient.Statistics.Received().GetContributors("username", "repositoryName"); + } + + [Fact] + public async Task ThrowsIfGivenNullRepositoryName() + { + var statisticsClient = new ObservableStatisticsClient(Substitute.For()); + await AssertEx.Throws(async () => await statisticsClient.GetContributors("owner", null)); + } + + [Fact] + public async Task ThrowsIfGivenNullOwnerName() + { + var statisticsClient = new ObservableStatisticsClient(Substitute.For()); + await AssertEx.Throws(async () => await statisticsClient.GetContributors(null, "repositoryName")); + } + } + } +} \ No newline at end of file