public void PostsToCorrectUrl() { var newIssue = new NewIssue("some title"); var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); client.Create("fake", "repo", newIssue); connection.Received().Post<Issue>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues"), newIssue); }
public async Task EnsuresArgumentsNotNull() { var connection = Substitute.For<IApiConnection>(); var client = new IssuesClient(connection); AssertEx.Throws<ArgumentNullException>(async () => await client.Create(null, "name", new NewIssue("title"))); AssertEx.Throws<ArgumentException>(async () => await client.Create("", "name", new NewIssue("x"))); AssertEx.Throws<ArgumentNullException>(async () => await client.Create("owner", null, new NewIssue("x"))); AssertEx.Throws<ArgumentException>(async () => await client.Create("owner", "", new NewIssue("x"))); AssertEx.Throws<ArgumentNullException>(async () => await client.Create("owner", "name", null)); }