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");
            }
Ejemplo n.º 4
0
            public async Task ReturnsNoPendingInvitations()
            {
                var pendingInvitations = await _client.GetAllPendingInvitations(Helper.Organization).ToList();

                Assert.Empty(pendingInvitations);
            }