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

View file

@ -0,0 +1,39 @@
require 'test_helper'
class RegistrarAreaLoginTest < ActionDispatch::IntegrationTest
def setup
@user = users(:api_bestnames)
end
def test_correct_username_and_password
visit new_registrar_user_session_url
fill_in 'depp_user_tag', with: @user.username
fill_in 'depp_user_password', with: 'testtest'
click_button 'Login'
assert_text 'Log out'
assert_current_path registrar_root_path
end
def test_wrong_password
visit new_registrar_user_session_url
fill_in 'depp_user_tag', with: @user.username
fill_in 'depp_user_password', with: 'wrong'
click_button 'Login'
assert_text 'No such user'
assert_current_path new_registrar_user_session_path
end
def test_inactive_user
@user.update!(active: false)
visit new_registrar_user_session_url
fill_in 'depp_user_tag', with: @user.username
fill_in 'depp_user_password', with: 'testtest'
click_button 'Login'
assert_text 'User is not active'
assert_current_path new_registrar_user_session_path
end
end

View file

@ -0,0 +1,15 @@
require 'test_helper'
class RegistrarAreaLogoutTest < ActionDispatch::IntegrationTest
def setup
sign_in users(:api_bestnames)
end
def test_logout
visit registrar_root_url
click_on 'Log out'
assert_text 'Signed out successfully'
assert_current_path new_registrar_user_session_path
end
end

View file

@ -0,0 +1,22 @@
require 'test_helper'
class RegistrarAreaProtectedAreaTest < ActionDispatch::IntegrationTest
def test_unauthenticated_user_is_asked_to_authenticate_when_navigating_to_protected_area
visit registrar_domains_url
assert_text 'You need to sign in before continuing'
assert_current_path new_registrar_user_session_path
end
def test_authenticated_user_can_access_protected_area
sign_in users(:api_bestnames)
visit registrar_domains_url
assert_current_path registrar_domains_path
end
def test_authenticated_user_is_not_asked_to_authenticate_again
sign_in users(:api_bestnames)
visit new_registrar_user_session_url
assert_text 'You are already signed in'
assert_current_path registrar_root_path
end
end