around_action :api_call_handle_error
+ before_action :set_request_formats
+
##
- # return all the preferences as an XML document
+ # return all the preferences
def index
@user_preferences = current_user.preferences
- render :formats => [:xml]
+ respond_to do |format|
+ format.xml
+ format.json
+ end
end
##
{ :path => "/api/0.6/user/preferences", :method => :get },
{ :controller => "api/user_preferences", :action => "index" }
)
+ assert_routing(
+ { :path => "/api/0.6/user/preferences.json", :method => :get },
+ { :controller => "api/user_preferences", :action => "index", :format => "json" }
+ )
assert_routing(
{ :path => "/api/0.6/user/preferences", :method => :put },
{ :controller => "api/user_preferences", :action => "update_all" }
assert_select "preference[k=\"#{user_preference2.k}\"][v=\"#{user_preference2.v}\"]", :count => 1
end
end
+
+ # Test json
+ get user_preferences_path(:format => "json"), :headers => auth_header
+ assert_response :success
+ assert_equal "application/json", @response.media_type
+
+ js = ActiveSupport::JSON.decode(@response.body)
+ assert_not_nil js
+ assert_equal 2, js["preferences"].count
+ assert_equal user_preference.v, js["preferences"][user_preference.k]
end
##