public async Task EnsuresNonNullArguments()
            {
                var client = new EnterprisePreReceiveEnvironmentsClient(Substitute.For <IApiConnection>());

                Assert.Throws <ArgumentNullException>(() => new NewPreReceiveEnvironment(null, "url"));
                Assert.Throws <ArgumentException>(() => new NewPreReceiveEnvironment("", "url"));
                Assert.Throws <ArgumentNullException>(() => new NewPreReceiveEnvironment("name", null));
                Assert.Throws <ArgumentException>(() => new NewPreReceiveEnvironment("name", ""));

                await Assert.ThrowsAsync <ArgumentNullException>(() => client.Create(null));
            }
            public async Task RequestsCorrectUrl()
            {
                var connection = Substitute.For <IApiConnection>();
                var client     = new EnterprisePreReceiveEnvironmentsClient(connection);
                var data       = new NewPreReceiveEnvironment("name", "url");

                await client.Create(data);

                connection.Received().Post <PreReceiveEnvironment>(Arg.Is <Uri>(u => u.ToString() == "admin/pre-receive-environments"),
                                                                   data,
                                                                   "application/vnd.github.eye-scream-preview+json");
            }