             [ring.middleware.json :refer [wrap-json-body
                                           wrap-json-response]]
             [ring.util.response :refer [response]]))
+
+;;;; ___________________________________________________________________________
+
+;;;; NOTES
+;;;; - In requests, "content-type: must be lower case, but `wrap-json-response`
+;;;;   produces "Content-Type". WTF?
 
 ;;;; ___________________________________________________________________________
 ;;;; ---- Request test helpers ----

   (-> s
       (.getBytes encoding)
       (java.io.ByteArrayInputStream.))))

;; NOTES
;; - content-type must be lower case.
;;   - but `wrap-json-response` produces "Content-Type". WTF?

(defn json->request [string]
  {:headers {"content-type" "application/json; charset=utf-8"}
   :body (string->stream string)})

;;;; ___________________________________________________________________________
;;;; ---- wrap-json-response ----

      :body "Uploaded 'Fred'."})

(fact "Wrapped handler with request whose body is JSON"
  (app-002 {:headers {"content-type" "application/json; charset=utf-8"}
            :body (string->stream "{\"user\":\"Fred\"}")})
  => {:status 200
      :headers {}
      :body "Uploaded 'Fred'."})
