Merge branch 'master' into registry-790

This commit is contained in:
Artur Beljajev 2018-08-27 15:24:05 +03:00
commit 3d51a93f95
104 changed files with 728 additions and 557 deletions

View file

@ -0,0 +1,25 @@
require 'test_helper'
class AdminAreaNewApiUserTest < ApplicationSystemTestCase
setup do
sign_in users(:admin)
end
def test_new_api_user_creation_with_required_params
visit admin_api_users_url
click_link_or_button 'New API user'
fill_in 'Username', with: 'newtest'
fill_in 'Password', with: 'testtest'
find('#api_user_registrar_id', visible: false).set(registrars(:bestnames).id)
assert_difference 'ApiUser.count' do
click_link_or_button 'Save'
end
assert_current_path admin_api_user_path(ApiUser.last)
assert_text 'Record created'
assert_text 'Username newtest'
assert_text 'Password testtest'
end
end

View file

@ -0,0 +1,22 @@
require 'test_helper'
class AdminAreaProtectedAreaTest < ApplicationSystemTestCase
def test_anonymous_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_domains_path
end
end

View file

@ -0,0 +1,44 @@
require 'test_helper'
class AdminAreaSignInTest < ApplicationSystemTestCase
setup do
@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 'Sign in'
assert_text 'Signed in successfully'
assert_current_path admin_domains_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 'Sign in'
assert_text 'Invalid Username or password'
assert_current_path new_admin_user_session_path
end
def test_retry_with_correct_username_and_password
visit new_admin_user_session_url
fill_in 'admin_user_username', with: @user.username
fill_in 'admin_user_password', with: 'wrong'
click_button 'Sign in'
assert_text 'Invalid Username or password'
assert_current_path new_admin_user_session_path
fill_in 'admin_user_username', with: @user.username
fill_in 'admin_user_password', with: 'testtest'
click_button 'Sign in'
assert_text 'Signed in successfully'
assert_current_path admin_domains_path
end
end

View file

@ -0,0 +1,15 @@
require 'test_helper'
class AdminAreaSignOutTest < ApplicationSystemTestCase
setup do
sign_in users(:admin)
end
def test_logout
visit admin_root_url
click_on 'Sign out'
assert_text 'Signed out successfully'
assert_current_path new_admin_user_session_path
end
end

View file

@ -0,0 +1,25 @@
require 'test_helper'
class RegistrarAreaProtectedAreaTest < ApplicationSystemTestCase
def test_anonymous_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_no_text 'You need to sign in before continuing'
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

View file

@ -1,6 +1,6 @@
require 'test_helper'
class RegistrarAreaSignInTest < JavaScriptApplicationSystemTestCase
class RegistrarAreaMobileIDSignInTest < JavaScriptApplicationSystemTestCase
def setup
super
WebMock.allow_net_connect!
@ -10,7 +10,7 @@ class RegistrarAreaSignInTest < JavaScriptApplicationSystemTestCase
@user.save
end
def test_mobile_id_sign_in_page
def test_valid_phone_number
mock_client = Minitest::Mock.new
mock_client.expect(:authenticate,
OpenStruct.new(user_id_code: '1234', challenge_id: '1234'),
@ -20,7 +20,7 @@ class RegistrarAreaSignInTest < JavaScriptApplicationSystemTestCase
mock_client.expect(:session_code, 1234)
Digidoc::Client.stub(:new, mock_client) do
visit registrar_login_path
visit new_registrar_user_session_path
click_on 'login-with-mobile-id-btn'

View file

@ -0,0 +1,52 @@
require 'test_helper'
class RegistrarAreaPasswordSignInTest < ApplicationSystemTestCase
setup do
@user = users(:api_bestnames)
end
def test_correct_username_and_password
login_with_correct_credentials
assert_text 'Log out'
assert_current_path registrar_root_path
end
def test_after_successful_sign_in_super_user_sees_service_message_list
@user.update!(roles: [ApiUser::SUPER])
login_with_correct_credentials
assert_current_path registrar_root_path
end
def test_after_successful_sign_in_billing_user_sees_profile
@user.update!(roles: [ApiUser::BILLING])
login_with_correct_credentials
assert_current_path registrar_profile_path
end
def test_wrong_password
visit new_registrar_user_session_url
fill_in 'registrar_user_username', with: @user.username
fill_in 'registrar_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)
login_with_correct_credentials
assert_text 'User is not active'
assert_current_path new_registrar_user_session_path
end
private
def login_with_correct_credentials
visit new_registrar_user_session_url
fill_in 'registrar_user_username', with: @user.username
fill_in 'registrar_user_password', with: 'testtest'
click_button 'Login'
end
end

View file

@ -0,0 +1,15 @@
require 'test_helper'
class RegistrarAreaSignOutTest < ApplicationSystemTestCase
setup do
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