public async Task SendsProperlyFormattedDeleteRequest() { var httpClient = Substitute.For<IHttpClient>(); IResponse<object> response = new ApiResponse<object>(); httpClient.Send<object>(Args.Request).Returns(Task.FromResult(response)); var connection = new Connection(new ProductHeaderValue("OctokitTests"), ExampleUri, Substitute.For<ICredentialStore>(), httpClient, Substitute.For<IJsonSerializer>()); await connection.DeleteAsync(new Uri("endpoint", UriKind.Relative)); httpClient.Received(1).Send<object>(Arg.Is<IRequest>(req => req.BaseAddress == ExampleUri && req.Body == null && req.ContentType == null && req.Method == HttpMethod.Delete && req.Endpoint == new Uri("endpoint", UriKind.Relative))); }