         keys = gitlab.user.sshkeys
         expect(keys.backboneClass).toEqual("SSHKeys")
         expect(keys.length).toBe(0)
+      )
+    )
+  )
+
+  # GitLab.Keys
+  # ----------------------------------------------------------------
+
+  describe("Keys", ->
+
+    keys = null
+    beforeEach(-> keys = new GitLab.Keys()
+
+    describe("fetch()", ->
+      it("should call correct URL", ->
+        spyOnAjax()
+        keys.fetch()
+        expect(lastAjaxCall().args[0].type).toEqual("GET")
+        expect(lastAjaxCall().args[0].url).toEqual(url + "/user/keys")
+      )
+    )
+
+    describe("create()", ->
+      it("should call the correct URL", ->
+        spyOnAjax()
+        members.create(key:"Something")
+        expect(lastAjaxCall().args[0].type).toEqual("POST")
+        expect(lastAjaxCall().args[0].url).toEqual(url + "/user/keys")
       )
     )
   )

#
# The AJAX helpers can of course be mixes with Jasmine's asynchronous helpers, as seen in the tests
# below.
#  

ajaxTimeout = 1000
token = "abcdefg"

        expect(last_call_data.path).toEqual("%2F")
      )

      it("should call correct URL with branch and subfolder path", ->
        spyOnAjax()
        tree = new GitLab.Tree([]
        , 
          project:project
          path:"subfolder"
          branch:"slave"
        )
        tree.fetch()
        expect(last_call_data.path).toEqual("subfolder")
        expect(last_call_data.ref_name).toEqual("slave")
      )

