From 7d9fbd10eeacb0fc26d6493763c07d411433003a Mon Sep 17 00:00:00 2001 From: pltaylor Date: Mon, 4 Nov 2013 14:44:06 -0500 Subject: [PATCH] Add first tests and make public --- .../Clients/ObservableIssueCommentsClient.cs | 2 +- Octokit.Tests/Octokit.Tests.csproj | 1 + .../ObservableIssueCommentsClientTests.cs | 39 +++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 Octokit.Tests/Reactive/ObservableIssueCommentsClientTests.cs diff --git a/Octokit.Reactive/Clients/ObservableIssueCommentsClient.cs b/Octokit.Reactive/Clients/ObservableIssueCommentsClient.cs index b621fd1d..a99a1312 100644 --- a/Octokit.Reactive/Clients/ObservableIssueCommentsClient.cs +++ b/Octokit.Reactive/Clients/ObservableIssueCommentsClient.cs @@ -4,7 +4,7 @@ using System.Reactive.Threading.Tasks; namespace Octokit.Reactive { - class ObservableIssueCommentsClient : IObservableIssueCommentsClient + public class ObservableIssueCommentsClient : IObservableIssueCommentsClient { readonly IIssueCommentsClient _client; diff --git a/Octokit.Tests/Octokit.Tests.csproj b/Octokit.Tests/Octokit.Tests.csproj index abe98697..4cb79a7e 100644 --- a/Octokit.Tests/Octokit.Tests.csproj +++ b/Octokit.Tests/Octokit.Tests.csproj @@ -110,6 +110,7 @@ + diff --git a/Octokit.Tests/Reactive/ObservableIssueCommentsClientTests.cs b/Octokit.Tests/Reactive/ObservableIssueCommentsClientTests.cs new file mode 100644 index 00000000..5198c91b --- /dev/null +++ b/Octokit.Tests/Reactive/ObservableIssueCommentsClientTests.cs @@ -0,0 +1,39 @@ +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 ObservableIssueCommentsClientTests + { + public class TheGetMethod + { + [Fact] + public void GetsFromClientIssueComment() + { + var connection = Substitute.For(); + var client = new ObservableIssueCommentsClient(connection); + + client.Get("fake", "repo", 42); + + connection.Issue.Comment.Received().Get("fake", "repo", 42); + } + + [Fact] + public async Task EnsuresNonNullArguments() + { + var client = new ObservableIssueCommentsClient(Substitute.For()); + + await AssertEx.Throws(async () => await client.Get(null, "name", 1)); + await AssertEx.Throws(async () => await client.Get("", "name", 1)); + await AssertEx.Throws(async () => await client.Get("owner", null, 1)); + await AssertEx.Throws(async () => await client.Get("owner", "", 1)); + } + + } + } +}