blob: c0fcf3aab4e70feb950e90965e1ecfc02fd2a415 (
plain)
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
|
module AuthTestHelper
extend ActiveSupport::Concern
# Controller will fetch current user from warden.
# Make it pick up our current_user
included do
setup do
request.env['warden'] ||= stub :user => nil
end
end
def login(user_or_method_hash = {})
if user_or_method_hash.respond_to?(:reverse_merge)
user_or_method_hash.reverse_merge! :is_admin? => false
end
@current_user = stub_record(:user, user_or_method_hash, true)
request.env['warden'] = stub :user => @current_user
return @current_user
end
def assert_access_denied(denied = true, logged_in = true)
if denied
assert_equal({:alert => "Not authorized"}, flash.to_hash)
# todo: eventually probably eliminate separate conditions
assert_redirected_to login_path if !logged_in
assert_redirected_to root_path if logged_in
else
assert flash[:alert].blank?
end
end
end
class ActionController::TestCase
include AuthTestHelper
end
|