From c600ce832c9a9862cb67cc157b65cccccccf1097 Mon Sep 17 00:00:00 2001 From: Brendan Forster Date: Wed, 30 Apr 2014 14:52:37 +0800 Subject: [PATCH] added tests to catch regression --- Octokit.Tests/Helpers/UriExtensionsTests.cs | 13 +++++++++++++ Octokit.Tests/Models/SearchCodeRequestTests.cs | 11 ++++++++++- Octokit.Tests/Models/SearchIssuesRequestTests.cs | 11 ++++++++++- Octokit.Tests/Models/SearchUsersRequestTests.cs | 11 ++++++++++- 4 files changed, 43 insertions(+), 3 deletions(-) diff --git a/Octokit.Tests/Helpers/UriExtensionsTests.cs b/Octokit.Tests/Helpers/UriExtensionsTests.cs index 20bae54b..981ecd40 100644 --- a/Octokit.Tests/Helpers/UriExtensionsTests.cs +++ b/Octokit.Tests/Helpers/UriExtensionsTests.cs @@ -22,6 +22,19 @@ namespace Octokit.Tests.Helpers Assert.Equal(new Uri("https://example.com?foo=foo%20val&bar=barval"), uriWithParameters); } + [Fact] + public void ThrowsExceptionWhenNullValueProvided() + { + var uri = new Uri("https://example.com"); + + var parameters = new Dictionary + { + {"foo", null }, + }; + + Assert.Throws(() => uri.ApplyParameters(parameters)); + } + [Fact] public void AppendsParametersAsQueryStringToRelativeUri() { diff --git a/Octokit.Tests/Models/SearchCodeRequestTests.cs b/Octokit.Tests/Models/SearchCodeRequestTests.cs index 86587d57..831b6b3f 100644 --- a/Octokit.Tests/Models/SearchCodeRequestTests.cs +++ b/Octokit.Tests/Models/SearchCodeRequestTests.cs @@ -1,4 +1,5 @@ -using Octokit; +using System; +using Octokit; using Octokit.Tests.Helpers; using Xunit; @@ -16,5 +17,13 @@ public class SearchCodeRequestTests // If I can cast this to a writeable collection, then that defeats the purpose of a read only. AssertEx.IsReadOnlyCollection(result); } + + [Fact] + public void SortNotSpecifiedByDefault() + { + var request = new SearchCodeRequest("test"); + Assert.True(String.IsNullOrWhiteSpace(request.Sort)); + Assert.False(request.Parameters.ContainsKey("sort")); + } } } diff --git a/Octokit.Tests/Models/SearchIssuesRequestTests.cs b/Octokit.Tests/Models/SearchIssuesRequestTests.cs index 03a48514..9891dbdb 100644 --- a/Octokit.Tests/Models/SearchIssuesRequestTests.cs +++ b/Octokit.Tests/Models/SearchIssuesRequestTests.cs @@ -1,4 +1,5 @@ -using Octokit; +using System; +using Octokit; using Octokit.Tests.Helpers; using Xunit; @@ -16,5 +17,13 @@ internal class SearchIssuesRequestTests // If I can cast this to a writeable collection, then that defeats the purpose of a read only. AssertEx.IsReadOnlyCollection(result); } + + [Fact] + public void SortNotSpecifiedByDefault() + { + var request = new SearchIssuesRequest("test"); + Assert.True(String.IsNullOrWhiteSpace(request.Sort)); + Assert.False(request.Parameters.ContainsKey("sort")); + } } } diff --git a/Octokit.Tests/Models/SearchUsersRequestTests.cs b/Octokit.Tests/Models/SearchUsersRequestTests.cs index 110a3f60..b3746e87 100644 --- a/Octokit.Tests/Models/SearchUsersRequestTests.cs +++ b/Octokit.Tests/Models/SearchUsersRequestTests.cs @@ -1,4 +1,5 @@ -using Octokit; +using System; +using Octokit; using Octokit.Tests.Helpers; using Xunit; @@ -16,5 +17,13 @@ internal class SearchUsersRequestTests // If I can cast this to a writeable collection, then that defeats the purpose of a read only. AssertEx.IsReadOnlyCollection(result); } + + [Fact] + public void SortNotSpecifiedByDefault() + { + var request = new SearchUsersRequest("shiftkey"); + Assert.True(String.IsNullOrWhiteSpace(request.Sort)); + Assert.False(request.Parameters.ContainsKey("sort")); + } } }