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

                client.GetAll();

                gitHubClient.Connection.Received(1).Get <List <PreReceiveEnvironment> >(
                    new Uri("admin/pre-receive-environments", UriKind.Relative),
                    Args.EmptyDictionary,
                    "application/vnd.github.eye-scream-preview+json");
            }
            public void RequestsTheCorrectUrlWithApiOptions()
            {
                var gitHubClient = Substitute.For <IGitHubClient>();
                var client       = new ObservableEnterprisePreReceiveEnvironmentsClient(gitHubClient);

                var options = new ApiOptions
                {
                    PageCount = 1,
                    PageSize  = 1,
                    StartPage = 1
                };

                client.GetAll(options);

                gitHubClient.Connection.Received(1).Get <List <PreReceiveEnvironment> >(
                    new Uri("admin/pre-receive-environments", UriKind.Relative),
                    Arg.Is <IDictionary <string, string> >(d => d.Count == 2),
                    "application/vnd.github.eye-scream-preview+json");
            }
            public void EnsuresNonNullArguments()
            {
                var client = new ObservableEnterprisePreReceiveEnvironmentsClient(Substitute.For <IGitHubClient>());

                Assert.Throws <ArgumentNullException>(() => client.GetAll(null));
            }