Add tests for routing and to ensure output format

This avoids the tests passing if the json output is an array of kv pairs,
instead of the desired hash of attributes.
This commit is contained in:
Andy Allan 2021-04-14 16:11:57 +01:00
parent a968c1b923
commit 6bb18436a3
2 changed files with 6 additions and 1 deletions

View file

@ -10,7 +10,7 @@ module Api
before_action :set_request_formats
##
# return all the preferences as an XML document
# return all the preferences
def index
@user_preferences = current_user.preferences

View file

@ -9,6 +9,10 @@ module Api
{ :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" }
@ -71,6 +75,7 @@ module Api
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
##