require 'integration_helper'
-require 'selenium-webdriver'
-require 'headless'
class UserManageAccountTest < ActionDispatch::IntegrationTest
setup do
- headless = Headless.new
- headless.start
- Capybara.current_driver = :selenium
+ need_javascript
end
# test manage_account page
visit page_with_token(user)
click_link 'notifications-menu'
if notifications
- assert_selector('a', text: 'Click here to learn about SSH keys')
+ 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 learn about SSH keys')
+ click_link('Click here to set up an SSH public key for use with Arvados')
assert_selector('a', text: 'Add new SSH key')
add_and_verify_ssh_key
# No more SSH notification
click_link 'notifications-menu'
- assert_no_selector('a', text: 'Click here to learn about SSH keys')
+ 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 learn about SSH keys')
+ 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
end
end
+
+ test "verify repositories for active user" do
+ visit page_with_token('active', '/manage_account')
+
+ repos = [[api_fixture('repositories')['foo'], true, true],
+ [api_fixture('repositories')['repository3'], false, false],
+ [api_fixture('repositories')['repository4'], true, false]]
+
+ repos.each do |(repo, writable, sharable)|
+ within('tr', text: repo['name']+'.git') do
+ if sharable
+ assert_selector 'a', text:'Share'
+ assert_text 'writable'
+ else
+ assert_text repo['name']
+ assert_no_selector 'a', text:'Share'
+ if writable
+ assert_text 'writable'
+ else
+ assert_text 'read-only'
+ end
+ end
+ end
+ end
+ end
end