From 26a49c7031948fa68b527c8196c212985bc3c80e Mon Sep 17 00:00:00 2001 From: "aedampir@gmail.com" Date: Thu, 14 Jul 2016 21:04:18 +0700 Subject: [PATCH] added new unit tests for observable client --- .../ObservableRepositoryPagesClientTests.cs | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/Octokit.Tests/Reactive/ObservableRepositoryPagesClientTests.cs b/Octokit.Tests/Reactive/ObservableRepositoryPagesClientTests.cs index 90ceef43..b1e1bab4 100644 --- a/Octokit.Tests/Reactive/ObservableRepositoryPagesClientTests.cs +++ b/Octokit.Tests/Reactive/ObservableRepositoryPagesClientTests.cs @@ -1,4 +1,5 @@ using System; +using System.Threading.Tasks; using NSubstitute; using Octokit.Reactive; using Xunit; @@ -48,6 +49,9 @@ namespace Octokit.Tests.Reactive Assert.Throws(() => client.Get(null, "name")); Assert.Throws(() => client.Get("owner", null)); + + Assert.Throws(() => client.Get("", "name")); + Assert.Throws(() => client.Get("owner", "")); } } @@ -160,6 +164,47 @@ namespace Octokit.Tests.Reactive Assert.Throws(() => client.GetLatest(null, "name")); Assert.Throws(() => client.GetLatest("owner", null)); + + Assert.Throws(() => client.GetLatest("", "name")); + Assert.Throws(() => client.GetLatest("owner", "")); + } + } + + public class TheRequestPageBuildMethod + { + [Fact] + public async Task PostsToCorrectUrl() + { + var gitHubClient = Substitute.For(); + var client = new ObservableRepositoryPagesClient(gitHubClient); + + client.RequestPageBuild("fake", "repo"); + + gitHubClient.Received().Repository.Page.RequestPageBuild("fake", "repo"); + } + + [Fact] + public async Task PostsToCorrectUrlWithRepositoryId() + { + var gitHubClient = Substitute.For(); + var client = new ObservableRepositoryPagesClient(gitHubClient); + + client.RequestPageBuild(1); + + gitHubClient.Received().Repository.Page.RequestPageBuild(1); + } + + [Fact] + public async Task EnsuresNonNullArguments() + { + var gitHubClient = Substitute.For(); + var client = new ObservableRepositoryPagesClient(gitHubClient); + + Assert.Throws(() => client.RequestPageBuild(null, "name")); + Assert.Throws(() => client.RequestPageBuild("owner", null)); + + Assert.Throws(() => client.RequestPageBuild("", "name")); + Assert.Throws(() => client.RequestPageBuild("owner", "")); } } }