end
end
+ test "pipeline notification shown even though public pipelines exist" do
+ skip "created_by doesn't work that way"
+ Rails.configuration.anonymous_user_token = api_fixture('api_client_authorizations')['anonymous']['api_token']
+ visit page_with_token 'job_reader'
+ click_link 'notifications-menu'
+ assert_selector 'a', text: 'Click here to learn how to run an Arvados Crunch pipeline'
+ end
+
[
- ['inactive_but_signed_user_agreement', true],
- ['active', false],
- ].each do |user, notifications|
- test "test manage account for #{user} with notifications #{notifications}" do
+ ['job_reader', :ssh, :pipeline],
+ ['active'],
+ ].each do |user, *expect|
+ test "manage account for #{user} with notifications #{expect.inspect}" do
+ Rails.configuration.anonymous_user_token = false
visit page_with_token(user)
click_link 'notifications-menu'
- if notifications
+ if expect.include? :ssh
assert_selector('a', text: 'Click here to set up an SSH public key for use with Arvados')
- assert_selector('a', text: 'Click here to learn how to run an Arvados Crunch pipeline')
click_link('Click here to set up an SSH public key for use with Arvados')
assert_selector('a', text: 'Add new SSH key')
# No more SSH notification
click_link 'notifications-menu'
assert_no_selector('a', text: 'Click here to set up an SSH public key for use with Arvados')
- assert_selector('a', text: 'Click here to learn how to run an Arvados Crunch pipeline')
else
assert_no_selector('a', text: 'Click here to set up an SSH public key for use with Arvados')
assert_no_selector('a', text: 'Click here to learn how to run an Arvados Crunch pipeline')
end
+
+ if expect.include? :pipeline
+ assert_selector('a', text: 'Click here to learn how to run an Arvados Crunch pipeline')
+ end
end
end
end
end
end
+
+ test "request shell access" do
+ visit page_with_token('spectator', '/manage_account')
+ assert_text 'You do not have access to any virtual machines'
+ click_button 'Send request for shell access'
+ assert_text 'A request for shell access was sent.'
+ assert_no_text 'You do not have access to any virtual machines.'
+
+ # revisit the page and verify that the Request button is no longer shown
+ within('.navbar-fixed-top') do
+ find('a', text: 'spectator').click
+ within('.dropdown-menu') do
+ find('a', text: 'Manage account').click
+ end
+ end
+ assert_text 'You do not have access to any virtual machines.'
+ assert_text 'A request for shell access was sent on '
+ end
end