finished tests for most of api, but still needs #create and #update