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