1
0
Fork 0
mirror of https://github.com/heartcombo/devise.git synced 2022-11-09 12:18:31 -05:00
heartcombo--devise/test/failure_app_test.rb

47 lines
1.4 KiB
Ruby
Raw Normal View History

2009-10-22 18:12:00 -04:00
require 'test/test_helper'
require 'ostruct'
2009-10-22 18:12:00 -04:00
class FailureTest < ActiveSupport::TestCase
def call_failure(env_params={})
env = {
'warden.options' => { :scope => :user },
'REQUEST_URI' => 'http://test.host/',
2010-02-19 03:52:04 -05:00
'HTTP_HOST' => 'test.host',
'REQUEST_METHOD' => 'GET',
'rack.session' => {}
}.merge!(env_params)
2009-11-16 11:31:09 -05:00
Devise::FailureApp.call(env)
2009-10-22 18:12:00 -04:00
end
test 'return 302 status' do
assert_equal 302, call_failure.first
end
test 'return to the default redirect location' do
2010-02-19 03:52:04 -05:00
assert_equal 'http://test.host/users/sign_in?unauthenticated=true', call_failure.second['Location']
2009-10-22 18:12:00 -04:00
end
2009-11-16 11:31:09 -05:00
test 'uses the proxy failure message' do
warden = OpenStruct.new(:message => :test)
location = call_failure('warden' => warden).second['Location']
2010-02-19 03:52:04 -05:00
assert_equal 'http://test.host/users/sign_in?test=true', location
2009-10-22 18:12:00 -04:00
end
test 'uses the given message' do
warden = OpenStruct.new(:message => 'Hello world')
location = call_failure('warden' => warden).second['Location']
2010-02-19 03:52:04 -05:00
assert_equal 'http://test.host/users/sign_in?message=Hello+world', location
end
2010-02-19 03:52:04 -05:00
test 'set content type to default text/html' do
assert_equal 'text/html; charset=utf-8', call_failure.second['Content-Type']
2009-10-22 18:12:00 -04:00
end
test 'setup a default message' do
2010-02-19 03:52:04 -05:00
assert_match /You are being/, call_failure.last.body
assert_match /redirected/, call_failure.last.body
assert_match /\?unauthenticated=true/, call_failure.last.body
2009-10-22 18:12:00 -04:00
end
end