           :Content-Type (mime-type :item)
         }
         :body {
-          :name "i"
+          :name i
         }})]
         (:status response) => 201
         (base-mime-type (get-in response [:headers "Content-Type"])) => (mime-type :item)
         (get-in response [:headers "Location"]) => "/e/i"
         (json? response) => true
-        (item/get-item "e" "i") => (contains {
-          :collection "e"
-          :name "i"
-          :slug "i"
+        (item/get-item e i) => (contains {
+          :collection e
+          :name i
+          :slug i
           :version 1})
-        (collection/item-count "e") => 1)
-      ;; Get the created item
-      (let [response (api-request :get "/e/i" {
-        :headers {
-          :Accept (mime-type :item)
-        }})]
-        (:status response) => 200
-        (base-mime-type (get-in response [:headers "Content-Type"])) => (mime-type :item)
-        (json? response) => true
-        (let [item (body-from-response response)]
-          (:slug item) => "i"
-          (:name item) => "i"
-          (:version item) => 1
-          (:collection item) => e)))
+        (collection/item-count e) => 1)
+      ;; Get the created item and make sure it's right
+      (let [item (item/get-item e i)]
+        (:slug item) => i
+        (:name item) => i
+        (:version item) => 1
+        (:collection item) => e))
 
     ;; all good, generated slug is different than the provided name - 201 Created
     ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X POST -d '{"name":" -tHiS #$is%?-----ελληνικήalso-მივჰხვდემასჩემსაãالزجاجوهذالايؤلمني-slüg♜-♛-☃-✄-✈  - "}' http://localhost:3000/c/

        (base-mime-type (get-in response [:headers "Content-Type"])) => (mime-type :item)
        (get-in response [:headers "Location"]) => "/e/this-is-also-a-slug"
        (json? response) => true
        (item/get-item "e" "this-is-also-a-slug") => (contains {
          :collection "e" 
          :name " -tHiS #$is%?-----ελληνικήalso-მივჰხვდემასჩემსაãالزجاجوهذالايؤلمني-slüg♜-♛-☃-✄-✈  - "
          :slug "this-is-also-a-slug"
          :version 1})
        (collection/item-count "e") => 1)
      ;; Get the created item
      (let [response (api-request :get "/e/this-is-also-a-slug" {
        :headers {
          :Accept (mime-type :item)
        }})]
        (:status response) => 200
        (base-mime-type (get-in response [:headers "Content-Type"])) => (mime-type :item)
        (json? response) => true
        (let [item (body-from-response response)]
          (:slug item) => "this-is-also-a-slug"
          (:name item) => " -tHiS #$is%?-----ελληνικήalso-მივჰხვდემასჩემსაãالزجاجوهذالايؤلمني-slüg♜-♛-☃-✄-✈  - "
          (:version item) => 1
          (:collection item) => e))))
(with-state-changes [(before :facts (empty-collection-e))
                     (after :facts (collection/delete-collection "e"))]

  (facts "about creating valid new items"

    ;; all good, no slug - 201 Created
    ;; curl -i --header "Accept: application/vnd.fcms.item+json;version=1" --header "Accept-Charset: utf-8" --header "Content-Type: application/vnd.fcms.item+json;version=1" -X POST -d '{"name":"i"}' http://localhost:3000/c/
