                     should.exist tsEl, "missing element: <deleted-entry/>"
                     testTombstone tsEl, "test-F-9"
             ], done
+
+        it "should fail if the item does not exist", (done) ->
+            retEl = retractIq "picard@enterprise.sf", "buddycloud.example.org",
+                "retract-F-14", "/user/picard@enterprise.sf/posts", "missing-post"
+
+            server.doTest retEl, "got-iq-retract-F-14", done, testErrorIq "cancel", "item-not-found"
 
         it "should be notified to subscribers", (done) ->
             async.series [(cb) ->

                "publish-D-4", "/user/picard@enterprise.sf/posts",
                content: "Test reply D4", id: "test-D-4", in_reply_to: "missing-post"

            server.doTest publishEl, "got-iq-publish-D-4", done, (iq) ->
                (testErrorIq "modify", "not-acceptable") iq
                infEl = iq.getChild("error")
                    ?.getChild("item-not-found", "http://buddycloud.org/v1#errors")
                should.exist infEl, "missing element: <item-not-found/>"


    describe "an update", ->

                .c("invalid-element").t("Test post A6")

            server.doTest publishEl, "got-iq-publish-A-6", done, testErrorIq "modify", "bad-request"


    describe "to a local channel", ->
