1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
# frozen_string_literal: true
require "abstract_unit"
require "active_support/core_ext/hash/conversions"
class RenderersApiController < ActionController::API
class Model
def to_json(options = {})
{ a: "b" }.to_json(options)
end
def to_xml(options = {})
{ a: "b" }.to_xml(options)
end
end
def one
render json: Model.new
end
def two
render xml: Model.new
end
def plain
render plain: "Hi from plain", status: 500
end
end
class RenderersApiTest < ActionController::TestCase
tests RenderersApiController
def test_render_json
get :one
assert_response :success
assert_equal({ a: "b" }.to_json, @response.body)
end
def test_render_xml
get :two
assert_response :success
assert_equal({ a: "b" }.to_xml, @response.body)
end
def test_render_plain
get :plain
assert_response :internal_server_error
assert_equal("Hi from plain", @response.body)
end
end
|