public IssuesClient(IApiConnection apiConnection) : base(apiConnection) { Assignee = new AssigneesClient(apiConnection); Events = new IssuesEventsClient(apiConnection); Milestone = new MilestonesClient(apiConnection); Comment = new IssueCommentsClient(apiConnection); }
public async Task EnsuresNonNullArguments() { var client = new AssigneesClient(Substitute.For<IApiConnection>()); await AssertEx.Throws<ArgumentNullException>(async () => await client.GetForRepository(null, "name")); await AssertEx.Throws<ArgumentException>(async () => await client.GetForRepository(null, "")); await AssertEx.Throws<ArgumentNullException>(async () => await client.GetForRepository("owner", null)); await AssertEx.Throws<ArgumentException>(async () => await client.GetForRepository("", null)); }
public void RequestsCorrectUrl() { var connection = Substitute.For<IApiConnection>(); var client = new AssigneesClient(connection); client.GetForRepository("fake", "repo"); connection.Received().GetAll<User>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/assignees")); }
public async Task ThrowsExceptionForInvalidStatusCode() { var response = Task.Factory.StartNew<IResponse<object>>(() => new ApiResponse<object> { StatusCode = HttpStatusCode.Conflict }); var connection = Substitute.For<IConnection>(); connection.GetAsync<object>(Arg.Is<Uri>(u => u.ToString() == "repos/foo/bar/assignees/cody"), null, null).Returns(response); var apiConnection = Substitute.For<IApiConnection>(); apiConnection.Connection.Returns(connection); var client = new AssigneesClient(apiConnection); AssertEx.Throws<ApiException>(async () => await client.CheckAssignee("foo", "bar", "cody")); }
public async Task RequestsCorrectValueForStatusCode(HttpStatusCode status, bool expected) { var response = Task.Factory.StartNew<IResponse<object>>(() => new ApiResponse<object> { StatusCode = status }); var connection = Substitute.For<IConnection>(); connection.GetAsync<object>(Arg.Is<Uri>(u => u.ToString() == "repos/foo/bar/assignees/cody"), null, null).Returns(response); var apiConnection = Substitute.For<IApiConnection>(); apiConnection.Connection.Returns(connection); var client = new AssigneesClient(apiConnection); var result = await client.CheckAssignee("foo", "bar", "cody"); Assert.Equal(expected, result); }
public IssuesClient(IApiConnection apiConnection) : base(apiConnection) { Assignee = new AssigneesClient(apiConnection); Milestone = new MilestonesClient(apiConnection); }