public void RequestsTheCorrectUrl()
            {
                var gitHub = Substitute.For <IGitHubClient>();
                var client = new ObservableTeamsClient(gitHub);

                client.GetAllPendingInvitations(1);

                gitHub.Connection.Received().GetAndFlattenAllPages <OrganizationMembershipInvitation>(
                    Arg.Is <Uri>(u => u.ToString() == "teams/1/invitations"),
                    Args.EmptyDictionary,
                    "application/vnd.github.korra-preview+json");
            }
            public void RequestsTheCorrectUrlWithApiOptions()
            {
                var gitHub = Substitute.For<IGitHubClient>();
                var client = new ObservableTeamsClient(gitHub);
                var options = new ApiOptions
                {
                    PageCount = 1,
                    PageSize = 1,
                    StartPage = 1
                };
                client.GetAllPendingInvitations(1, options);

                gitHub.Connection.Received().GetAndFlattenAllPages<OrganizationMembershipInvitation>(
                    Arg.Is<Uri>(u => u.ToString() == "teams/1/invitations"),
                    Arg.Is<Dictionary<string, string>>(d => d.Count == 2),
                    "application/vnd.github.korra-preview+json");
            }
            public void EnsuresNonNullArguments()
            {
                var client = new ObservableTeamsClient(Substitute.For <IGitHubClient>());

                Assert.Throws <ArgumentNullException>(() => client.GetAllPendingInvitations(1, null));
            }