Skip to content

Instantly share code, notes, and snippets.

@jarhart
Created August 10, 2012 19:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jarhart/3317023 to your computer and use it in GitHub Desktop.
Save jarhart/3317023 to your computer and use it in GitHub Desktop.
RSpec helper for testing your rails JSON REST API
module JsonHelpers
def json(params)
params = {format: 'json'}.merge(params)
[:get, :put, :post, :delete].find do |method|
path = params.delete(method) and send(method, path, params)
end
symbolize_keys(JSON.parse(response.body))
end
private
def symbolize_keys(o)
case o
when Hash then Hash[o.map { |k, v| [k.to_sym, symbolize_keys(v)] }]
when Array then o.map { |e| symbolize_keys(e) }
else o
end
end
end
RSpec.configure { |config| config.include JsonHelpers, :type => :request }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment