mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
56 lines
1.3 KiB
Ruby
56 lines
1.3 KiB
Ruby
|
require 'abstract_unit'
|
||
|
require 'action_dispatch/testing/assertions/response'
|
||
|
|
||
|
module ActionDispatch
|
||
|
module Assertions
|
||
|
class ResponseAssertionsTest < ActiveSupport::TestCase
|
||
|
include ResponseAssertions
|
||
|
|
||
|
FakeResponse = Struct.new(:response_code) do
|
||
|
[:success, :missing, :redirect, :error].each do |sym|
|
||
|
define_method("#{sym}?") do
|
||
|
sym == response_code
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def test_assert_response_predicate_methods
|
||
|
[:success, :missing, :redirect, :error].each do |sym|
|
||
|
@response = FakeResponse.new sym
|
||
|
assert_response sym
|
||
|
|
||
|
assert_raises(MiniTest::Assertion) {
|
||
|
assert_response :unauthorized
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def test_assert_response_fixnum
|
||
|
@response = FakeResponse.new 400
|
||
|
assert_response 400
|
||
|
|
||
|
assert_raises(MiniTest::Assertion) {
|
||
|
assert_response :unauthorized
|
||
|
}
|
||
|
|
||
|
assert_raises(MiniTest::Assertion) {
|
||
|
assert_response 500
|
||
|
}
|
||
|
end
|
||
|
|
||
|
def test_assert_response_sym_status
|
||
|
@response = FakeResponse.new 401
|
||
|
assert_response :unauthorized
|
||
|
|
||
|
assert_raises(MiniTest::Assertion) {
|
||
|
assert_response :ok
|
||
|
}
|
||
|
|
||
|
assert_raises(MiniTest::Assertion) {
|
||
|
assert_response :success
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|