added new unit tests

This commit is contained in:
Alexander Efremov
2016-06-13 22:53:21 +07:00
parent 8ee07dd355
commit cb1dcf6fd6
2 changed files with 311 additions and 85 deletions
@@ -32,6 +32,33 @@ namespace Octokit.Tests.Reactive
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("events", UriKind.Relative), Args.EmptyDictionary, null);
}
[Fact]
public void RequestsCorrectUrlWithApiOptions()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
var options = new ApiOptions
{
PageSize = 1,
PageCount = 1,
StartPage = 1
};
client.GetAll(options);
gitHubClient.Connection.Received().Get<List<Activity>>(new Uri("events", UriKind.Relative), Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null);
}
[Fact]
public void EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
Assert.Throws<ArgumentNullException>(() => client.GetAll(null));
}
}
public class TheGetAllForRepositoryMethod
@@ -44,19 +71,78 @@ namespace Octokit.Tests.Reactive
client.GetAllForRepository("fake", "repo");
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repos/fake/repo/events", UriKind.Relative), Args.EmptyDictionary, null);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repos/fake/repo/events", UriKind.Relative),
Args.EmptyDictionary, null);
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public void RequestsCorrectUrlWithRepositoryId()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository(null, "name").ToTask());
await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("", "name").ToTask());
await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllForRepository("owner", null).ToTask());
await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllForRepository("owner", "").ToTask());
client.GetAllForRepository(1);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repositories/1/events", UriKind.Relative),
Args.EmptyDictionary, null);
}
[Fact]
public void RequestsCorrectUrlWithApiOptions()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
var options = new ApiOptions
{
PageCount = 1,
StartPage = 1,
PageSize = 1
};
client.GetAllForRepository("fake", "repo", options);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repos/fake/repo/events", UriKind.Relative),
Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null);
}
[Fact]
public void RequestsCorrectUrlWithRepositoryIdWithApiOptions()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
var apiOptions = new ApiOptions
{
PageCount = 1,
StartPage = 1,
PageSize = 1
};
client.GetAllForRepository(1, apiOptions);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repositories/1/events", UriKind.Relative),
Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null);
}
[Fact]
public void EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository(null, "name"));
Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository("owner", null));
Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository(null, "name", ApiOptions.None));
Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository("owner", null, ApiOptions.None));
Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository("owner", "name", null));
Assert.Throws<ArgumentNullException>(() => client.GetAllForRepository(1, null));
Assert.Throws<ArgumentException>(() => client.GetAllForRepository("", "name"));
Assert.Throws<ArgumentException>(() => client.GetAllForRepository("owner", ""));
Assert.Throws<ArgumentException>(() => client.GetAllForRepository("", "name", ApiOptions.None));
Assert.Throws<ArgumentException>(() => client.GetAllForRepository("owner", "", ApiOptions.None));
}
}
@@ -70,19 +156,78 @@ namespace Octokit.Tests.Reactive
client.GetAllIssuesForRepository("fake", "repo");
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repos/fake/repo/issues/events", UriKind.Relative), Args.EmptyDictionary, null);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repos/fake/repo/issues/events", UriKind.Relative),
Args.EmptyDictionary, null);
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public void RequestsCorrectUrlWithRepositoryId()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllIssuesForRepository(null, "name").ToTask());
await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllIssuesForRepository("", "name").ToTask());
await Assert.ThrowsAsync<ArgumentNullException>(() => client.GetAllIssuesForRepository("owner", null).ToTask());
await Assert.ThrowsAsync<ArgumentException>(() => client.GetAllIssuesForRepository("owner", "").ToTask());
client.GetAllIssuesForRepository(1);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repositories/1/issues/events", UriKind.Relative),
Args.EmptyDictionary, null);
}
[Fact]
public void RequestsCorrectUrlWithApiOptions()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
var options = new ApiOptions
{
PageCount = 1,
StartPage = 1,
PageSize = 1
};
client.GetAllIssuesForRepository("fake", "repo", options);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repos/fake/repo/issues/events", UriKind.Relative),
Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null);
}
[Fact]
public void RequestsCorrectUrlWithRepositoryIdWithApiOptions()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
var options = new ApiOptions
{
PageCount = 1,
StartPage = 1,
PageSize = 1
};
client.GetAllIssuesForRepository(1, options);
gitHubClient.Connection.Received(1).Get<List<Activity>>(new Uri("repositories/1/issues/events", UriKind.Relative),
Arg.Is<IDictionary<string, string>>(d => d.Count == 2), null);
}
[Fact]
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
Assert.Throws<ArgumentNullException>(() => client.GetAllIssuesForRepository(null, "name"));
Assert.Throws<ArgumentNullException>(() => client.GetAllIssuesForRepository("owner", null));
Assert.Throws<ArgumentNullException>(() => client.GetAllIssuesForRepository(null, "name", ApiOptions.None));
Assert.Throws<ArgumentNullException>(() => client.GetAllIssuesForRepository("owner", null, ApiOptions.None));
Assert.Throws<ArgumentNullException>(() => client.GetAllIssuesForRepository("owner", "name", null));
Assert.Throws<ArgumentNullException>(() => client.GetAllIssuesForRepository(1, null));
Assert.Throws<ArgumentException>(() => client.GetAllIssuesForRepository("", "name"));
Assert.Throws<ArgumentException>(() => client.GetAllIssuesForRepository("owner", ""));
Assert.Throws<ArgumentException>(() => client.GetAllIssuesForRepository("", "name", ApiOptions.None));
Assert.Throws<ArgumentException>(() => client.GetAllIssuesForRepository("owner", "", ApiOptions.None));
}
}
@@ -100,7 +245,7 @@ namespace Octokit.Tests.Reactive
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
@@ -126,7 +271,7 @@ namespace Octokit.Tests.Reactive
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
@@ -150,7 +295,7 @@ namespace Octokit.Tests.Reactive
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
@@ -174,7 +319,7 @@ namespace Octokit.Tests.Reactive
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
@@ -198,7 +343,7 @@ namespace Octokit.Tests.Reactive
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
@@ -222,7 +367,7 @@ namespace Octokit.Tests.Reactive
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);
@@ -246,7 +391,7 @@ namespace Octokit.Tests.Reactive
}
[Fact]
public async Task EnsuresArgumentsNotNull()
public async Task EnsuresNonNullArguments()
{
var gitHubClient = Substitute.For<IGitHubClient>();
var client = new ObservableEventsClient(gitHubClient);