public async Task EnsuresNonNullArguments() { var client = new ObservableOrganizationMembersClient(Substitute.For <IGitHubClient>()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllPendingInvitations(null).ToTask()); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllPendingInvitations("").ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllPendingInvitations(null, ApiOptions.None).ToTask()); await Assert.ThrowsAsync <ArgumentException>(() => client.GetAllPendingInvitations("", ApiOptions.None).ToTask()); await Assert.ThrowsAsync <ArgumentNullException>(() => client.GetAllPendingInvitations("org", null).ToTask()); }
public void RequestsTheCorrectUrl() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableOrganizationMembersClient(gitHubClient); client.GetAllPendingInvitations("org"); gitHubClient.Connection.Received().GetAndFlattenAllPages <OrganizationMembershipInvitation>( Arg.Is <Uri>(u => u.ToString() == "orgs/org/invitations"), Args.EmptyDictionary, "application/vnd.github.korra-preview+json"); }
public void RequestsTheCorrectUrlWithStart() { var gitHubClient = Substitute.For <IGitHubClient>(); var client = new ObservableOrganizationMembersClient(gitHubClient); var options = new ApiOptions { PageCount = 1, PageSize = 1, StartPage = 1 }; client.GetAllPendingInvitations("org", options); gitHubClient.Connection.Received().GetAndFlattenAllPages <OrganizationMembershipInvitation>( Arg.Is <Uri>(u => u.ToString() == "orgs/org/invitations"), Arg.Is <Dictionary <string, string> >(d => d.Count == 2), "application/vnd.github.korra-preview+json"); }
public async Task ReturnsNoPendingInvitations() { var pendingInvitations = await _client.GetAllPendingInvitations(Helper.Organization).ToList(); Assert.Empty(pendingInvitations); }