mirror of
https://github.com/zoriya/octokit.net.git
synced 2026-06-05 11:40:42 +00:00
add unit tests for reaction clients
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
using NSubstitute;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace Octokit.Tests.Clients
|
||||
{
|
||||
public class PullRequestReviewCommentReactionsClientTests
|
||||
{
|
||||
public class TheCtor
|
||||
{
|
||||
[Fact]
|
||||
public void EnsuresNonNullArguments()
|
||||
{
|
||||
Assert.Throws<ArgumentNullException>(() => new PullRequestReviewCommentReactionsClient(null));
|
||||
}
|
||||
}
|
||||
|
||||
public class TheGetAllMethod
|
||||
{
|
||||
[Fact]
|
||||
public async Task RequestsCorrectUrl()
|
||||
{
|
||||
var connection = Substitute.For<IApiConnection>();
|
||||
var client = new ReactionsClient(connection);
|
||||
|
||||
client.PullRequestReviewComment.GetAll("fake", "repo", 42);
|
||||
|
||||
connection.Received().GetAll<Reaction>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/pulls/comments/1/reactions"), "application/vnd.github.squirrel-girl-preview");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task EnsuresArgumentsNotNull()
|
||||
{
|
||||
var connection = Substitute.For<IApiConnection>();
|
||||
var client = new ReactionsClient(connection);
|
||||
|
||||
await Assert.ThrowsAsync<ArgumentNullException>(() => client.PullRequestReviewComment.Create(null, "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
await Assert.ThrowsAsync<ArgumentException>(() => client.PullRequestReviewComment.Create("", "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
await Assert.ThrowsAsync<ArgumentNullException>(() => client.PullRequestReviewComment.Create("owner", null, 1, new NewReaction(ReactionType.Heart)));
|
||||
await Assert.ThrowsAsync<ArgumentException>(() => client.PullRequestReviewComment.Create("owner", "", 1, new NewReaction(ReactionType.Heart)));
|
||||
await Assert.ThrowsAsync<ArgumentException>(() => client.PullRequestReviewComment.Create("owner", "name", 1, null));
|
||||
}
|
||||
}
|
||||
|
||||
public class TheCreateMethod
|
||||
{
|
||||
[Fact]
|
||||
public void RequestsCorrectUrl()
|
||||
{
|
||||
NewReaction newReaction = new NewReaction(ReactionType.Heart);
|
||||
|
||||
var connection = Substitute.For<IApiConnection>();
|
||||
var client = new ReactionsClient(connection);
|
||||
|
||||
client.PullRequestReviewComment.Create("fake", "repo", 1, newReaction);
|
||||
|
||||
connection.Received().Post<Reaction>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/pulls/comments/1/reactions"), Arg.Any<object>(), "application/vnd.github.squirrel-girl-preview");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -96,6 +96,7 @@
|
||||
<Compile Include="Clients\Enterprise\EnterpriseSearchIndexingClientTests.cs" />
|
||||
<Compile Include="Clients\MergingClientTests.cs" />
|
||||
<Compile Include="Clients\OauthClientTests.cs" />
|
||||
<Compile Include="Clients\PullRequestReviewCommentReactionsClientTests.cs" />
|
||||
<Compile Include="Clients\RepositoryCommentsClientTests.cs" />
|
||||
<Compile Include="Clients\DeploymentsClientTests.cs" />
|
||||
<Compile Include="Clients\DeploymentStatusClientTests.cs" />
|
||||
@@ -212,6 +213,7 @@
|
||||
<Compile Include="Reactive\ObservableCommitCommentReactionClientTests.cs" />
|
||||
<Compile Include="Reactive\ObservableCommitsClientTests.cs" />
|
||||
<Compile Include="Reactive\ObservableIssuesLabelsClientTests.cs" />
|
||||
<Compile Include="Reactive\ObservablePullRequestReviewCommentReactionsClientTests.cs" />
|
||||
<Compile Include="Reactive\ObservableRepoCollaboratorsClientTests.cs" />
|
||||
<Compile Include="Reactive\ObservableDeploymentsClientTests.cs" />
|
||||
<Compile Include="Reactive\ObservableDeploymentStatusClientTests.cs" />
|
||||
|
||||
@@ -31,11 +31,11 @@ namespace Octokit.Tests.Reactive
|
||||
public void EnsuresArgumentsNotNull()
|
||||
{
|
||||
|
||||
Assert.Throws<ArgumentNullException>(() => _client.CommitComment.CreateReaction(null, "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.CommitComment.CreateReaction("", "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentNullException>(() => _client.CommitComment.CreateReaction("owner", null, 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.CommitComment.CreateReaction("owner", "", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.CommitComment.CreateReaction("owner", "name", 1, null));
|
||||
Assert.Throws<ArgumentNullException>(() => _client.CommitComment.Create(null, "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.CommitComment.Create("", "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentNullException>(() => _client.CommitComment.Create("owner", null, 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.CommitComment.Create("owner", "", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.CommitComment.Create("owner", "name", 1, null));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ namespace Octokit.Tests.Reactive
|
||||
var client = new ObservableReactionsClient(githubClient);
|
||||
var newReaction = new NewReaction(ReactionType.Confused);
|
||||
|
||||
client.CommitComment.CreateReaction("fake", "repo", 1, newReaction);
|
||||
githubClient.Received().Reaction.CommitComment.CreateReaction("fake", "repo", 1, newReaction);
|
||||
client.CommitComment.Create("fake", "repo", 1, newReaction);
|
||||
githubClient.Received().Reaction.CommitComment.Create("fake", "repo", 1, newReaction);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
using NSubstitute;
|
||||
using Octokit.Reactive;
|
||||
using System;
|
||||
using Xunit;
|
||||
|
||||
namespace Octokit.Tests.Reactive
|
||||
{
|
||||
public class ObservablePullRequestReviewCommentReactionsClientTests
|
||||
{
|
||||
public class TheGetAllMethod
|
||||
{
|
||||
private readonly IGitHubClient _githubClient;
|
||||
private readonly IObservableReactionsClient _client;
|
||||
private const string owner = "owner";
|
||||
private const string name = "name";
|
||||
|
||||
public TheGetAllMethod()
|
||||
{
|
||||
_githubClient = Substitute.For<IGitHubClient>();
|
||||
_client = new ObservableReactionsClient(_githubClient);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RequestsCorrectUrl()
|
||||
{
|
||||
_client.PullRequestReviewComment.GetAll("fake", "repo", 42);
|
||||
_githubClient.Received().Reaction.PullRequestReviewComment.GetAll("fake", "repo", 42);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void EnsuresArgumentsNotNull()
|
||||
{
|
||||
|
||||
Assert.Throws<ArgumentNullException>(() => _client.PullRequestReviewComment.Create(null, "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.PullRequestReviewComment.Create("", "name", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentNullException>(() => _client.PullRequestReviewComment.Create("owner", null, 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.PullRequestReviewComment.Create("owner", "", 1, new NewReaction(ReactionType.Heart)));
|
||||
Assert.Throws<ArgumentException>(() => _client.PullRequestReviewComment.Create("owner", "name", 1, null));
|
||||
}
|
||||
}
|
||||
|
||||
public class TheCreateMethod
|
||||
{
|
||||
[Fact]
|
||||
public void RequestsCorrectUrl()
|
||||
{
|
||||
var githubClient = Substitute.For<IGitHubClient>();
|
||||
var client = new ObservableReactionsClient(githubClient);
|
||||
var newReaction = new NewReaction(ReactionType.Confused);
|
||||
|
||||
client.PullRequestReviewComment.Create("fake", "repo", 1, newReaction);
|
||||
githubClient.Received().Reaction.PullRequestReviewComment.Create("fake", "repo", 1, newReaction);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user