Class: AuthorizableTest
- Inherits:
-
Minitest::Test
- Object
- Minitest::Test
- AuthorizableTest
- Includes:
- Rack::Test::Methods
- Defined in:
- lib/tests/controllers/authorizable_test.rb
Instance Method Summary collapse
- #app ⇒ Object
- #login_as(email) ⇒ Object
- #setup ⇒ Object
- #test_admin_only_as_admin ⇒ Object
- #test_admin_only_as_user_forbidden ⇒ Object
- #test_admin_only_unauthenticated ⇒ Object
- #test_user_only_as_admin_forbidden ⇒ Object
- #test_user_only_as_user ⇒ Object
Instance Method Details
#app ⇒ Object
30 31 32 |
# File 'lib/tests/controllers/authorizable_test.rb', line 30 def app Rubee::Application.instance end |
#login_as(email) ⇒ Object
47 48 49 50 |
# File 'lib/tests/controllers/authorizable_test.rb', line 47 def login_as(email) post('/authz/login', { email:, password: '123456' }) rack_mock_session.["jwt"] = last_response.["jwt"].value.last end |
#setup ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/tests/controllers/authorizable_test.rb', line 34 def setup User.destroy_all Rubee::Autoload.call Rubee::Router.draw do |route| route.post('/authz/login', to: 'authz#login') route.get('/authz/admin_only', to: 'authz#admin_only') route.get('/authz/user_only', to: 'authz#user_only') end User.create(email: 'admin@example.com', password: '123456', role: 1) User.create(email: 'user@example.com', password: '123456', role: 0) end |
#test_admin_only_as_admin ⇒ Object
58 59 60 61 62 63 |
# File 'lib/tests/controllers/authorizable_test.rb', line 58 def test_admin_only_as_admin login_as('admin@example.com') get('/authz/admin_only') assert_equal(200, last_response.status) end |
#test_admin_only_as_user_forbidden ⇒ Object
65 66 67 68 69 70 |
# File 'lib/tests/controllers/authorizable_test.rb', line 65 def test_admin_only_as_user_forbidden login_as('user@example.com') get('/authz/admin_only') assert_equal(403, last_response.status) end |
#test_admin_only_unauthenticated ⇒ Object
52 53 54 55 56 |
# File 'lib/tests/controllers/authorizable_test.rb', line 52 def test_admin_only_unauthenticated get('/authz/admin_only') assert_equal(403, last_response.status) end |
#test_user_only_as_admin_forbidden ⇒ Object
79 80 81 82 83 84 |
# File 'lib/tests/controllers/authorizable_test.rb', line 79 def test_user_only_as_admin_forbidden login_as('admin@example.com') get('/authz/user_only') assert_equal(200, last_response.status) end |
#test_user_only_as_user ⇒ Object
72 73 74 75 76 77 |
# File 'lib/tests/controllers/authorizable_test.rb', line 72 def test_user_only_as_user login_as('user@example.com') get('/authz/user_only') assert_equal(200, last_response.status) end |