Refactor Devise integration

- Use scoped users
- Use the named route helpers instead of hardcoded paths
This commit is contained in:
Artur Beljajev 2018-06-20 12:21:22 +03:00
parent c31f507c25
commit 9684c8e59f
52 changed files with 313 additions and 280 deletions

View file

@ -0,0 +1,27 @@
require 'test_helper'
class AdminAreaLoginTest < ActionDispatch::IntegrationTest
def setup
@user = users(:admin)
end
def test_correct_username_and_password
visit new_admin_user_session_url
fill_in 'admin_user_username', with: @user.username
fill_in 'admin_user_password', with: 'testtest'
click_button 'Log in'
assert_text 'Log out'
assert_current_path admin_root_path
end
def test_wrong_password
visit new_admin_user_session_url
fill_in 'admin_user_username', with: @user.username
fill_in 'admin_user_password', with: 'wrong'
click_button 'Log in'
assert_text 'Authorization error'
assert_current_path new_admin_user_session_path
end
end

View file

@ -0,0 +1,15 @@
require 'test_helper'
class AdminAreaLogoutTest < ActionDispatch::IntegrationTest
def setup
sign_in users(:admin)
end
def test_logout
visit admin_root_url
click_on 'Log out'
assert_text 'Signed out successfully'
assert_current_path new_admin_user_session_path
end
end

View file

@ -0,0 +1,22 @@
require 'test_helper'
class AdminAreaProtectedAreaTest < ActionDispatch::IntegrationTest
def test_unauthenticated_user_is_asked_to_authenticate_when_navigating_to_protected_area
visit admin_domains_url
assert_text 'You need to sign in before continuing'
assert_current_path new_admin_user_session_path
end
def test_authenticated_user_can_access_protected_area
sign_in users(:admin)
visit admin_domains_url
assert_current_path admin_domains_path
end
def test_authenticated_user_is_not_asked_to_authenticate_again
sign_in users(:admin)
visit new_admin_user_session_url
assert_text 'You are already signed in'
assert_current_path admin_root_path
end
end