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", "")); } } }