assert page.has_link? "#{user['email']}"
find('a', text: "#{user['email']}").click
within('.dropdown-menu') do
- if !invited
- page.has_no_link? ('Not active')
- else
- page.has_no_link? ('Sign agreements')
- page.has_link? ('Manage account')
+ if user['is_active']
+ assert page.has_no_link? ('Not active')
+ assert page.has_no_link? ('Sign agreements')
+
+ assert page.has_link? ('Manage account')
if profile_config
- page.has_link? ('Manage profile')
+ assert page.has_link? ('Manage profile')
else
- page.has_no_link? ('Manage profile')
+ assert page.has_no_link? ('Manage profile')
end
end
- page.has_link? ('Log out')
+ assert page.has_link? ('Log out')
end
end
end
page.find_field('name').set 'added_in_test'
click_button 'Submit'
end
- end
- # key must be added. look for it in the refreshed page
- assert page.has_text? 'added_in_test'
+ # key must be added. look for it in the refreshed page
+ assert page.has_text? 'added_in_test'
+ end
end
# Check manage profile page and add missing profile to the user
end
end
- assert page.has_text? profile_message
+ assert page.has_text? profile_message.gsub(/<.*?>/,'')
assert page.has_text? required_field_title
page.find_field('user[prefs][:profile][:'+required_field_key+']').set 'value to fill required field'
click_button "Save profile"
# profile saved and in profile page now with success
assert page.has_text? 'Thank you for filling in your profile'
- click_button 'Access Arvados Workbench'
+ click_link 'Back to work'
# profile saved and in home page now
assert page.has_text? 'My projects'
['active', api_fixture('users')['active'], true, true],
['admin', api_fixture('users')['admin'], true, true],
['active_no_prefs', api_fixture('users')['active_no_prefs'], true, false],
+ ['active_no_prefs_profile', api_fixture('users')['active_no_prefs_profile'], true, false],
].each do |token, user, invited, has_profile|
- test "visit home page when profile is configured for user #{token}" do
+ test "visit home page when profile is configured for user #{token}" do
# Our test config enabled profile by default. So, no need to update config
if !token
visit ('/')
verify_homepage_with_profile user, invited, has_profile
end
- end
- [
- [nil, nil, false, false],
- ['inactive', api_fixture('users')['inactive'], true, false],
- ['inactive_uninvited', api_fixture('users')['inactive_uninvited'], false, false],
- ['active', api_fixture('users')['active'], true, true],
- ['admin', api_fixture('users')['admin'], true, true],
- ['active_no_prefs', api_fixture('users')['active_no_prefs'], true, false],
- ].each do |token, user, invited, has_profile|
test "visit home page when profile not configured for user #{token}" do
Rails.configuration.user_profile_form_fields = false
verify_homepage_with_profile user, invited, has_profile
end
- end
- [
- [nil, nil, false, false],
- ['inactive', api_fixture('users')['inactive'], true, false],
- ['inactive_uninvited', api_fixture('users')['inactive_uninvited'], false, false],
- ['active', api_fixture('users')['active'], true, true],
- ['admin', api_fixture('users')['admin'], true, true],
- ['active_no_prefs', api_fixture('users')['active_no_prefs'], true, false],
- ].each do |token, user, invited, has_profile|
test "check help for user #{token}" do
- Rails.configuration.user_profile_form_fields = false
-
if !token
visit ('/')
else
visit page_with_token(token)
verify_system_menu user
end
- end
- [
- ['active', api_fixture('users')['active'], true, true],
- ['admin', api_fixture('users')['admin'], true, true],
- ].each do |token, user|
test "test manage account for user #{token}" do
visit page_with_token(token)
verify_manage_account user
end
- end
- [
- ['active', api_fixture('users')['active'], true, true],
- ['admin', api_fixture('users')['admin'], true, true],
- ].each do |token, user|
test "test search for user #{token}" do
visit page_with_token(token)
verify_search_box user
end
end
-
end