else
assert page.has_link?("Projects"), 'Not found link - Projects'
page.find("#projects-menu").click
+ assert_selector 'a', text: 'Add a new project'
+ assert_no_selector 'a', text: 'Browse public projects'
assert page.has_text?('Projects shared with me'), 'Not found text - Project shared with me'
end
elsif invited
else
# my account menu
assert_selector 'a', text: Rails.configuration.site_name.downcase
- assert page.has_link?("#{user['email']}"), 'Not found link - email'
- find('a', text: "#{user['email']}").click
+ assert(page.has_link?("notifications-menu"), 'no user menu')
+ page.find("#notifications-menu").click
within('.dropdown-menu') do
if user['is_active']
assert page.has_no_link?('Not active'), 'Found link - Not active'
assert page.has_no_link?('Sign agreements'), 'Found link - Sign agreements'
+ assert_selector "a[href=\"/projects/#{user['uuid']}\"]", text: 'Home project'
assert page.has_link?('Manage account'), 'No link - Manage account'
if profile_config
assert page.has_no_link?('Manage profile'), 'Found link - Manage profile'
end
else
+ assert_no_selector 'a', text: 'Home project'
assert page.has_no_link?('Manage account'), 'Found link - Manage account'
assert page.has_no_link?('Manage profile'), 'Found link - Manage profile'
end
['active_no_prefs', api_fixture('users')['active_no_prefs'], true, false],
['active_no_prefs_profile_no_getting_started_shown',
api_fixture('users')['active_no_prefs_profile_no_getting_started_shown'], true, false],
- ['active_no_prefs_profile_with_getting_started_shown',
- api_fixture('users')['active_no_prefs_profile_with_getting_started_shown'], true, false],
].each do |token, user, invited, has_profile|
test "visit home page for user #{token}" do
assert_text 'Getting Started'
assert_selector 'button:not([disabled])', text: 'Next'
assert_no_selector 'button:not([disabled])', text: 'Prev'
+
+ # Use Next button to enable Prev button
click_button 'Next'
assert_selector 'button:not([disabled])', text: 'Prev' # Prev button is now enabled
click_button 'Prev'
assert_no_selector 'button:not([disabled])', text: 'Prev' # Prev button is again disabled
+
+ # Click Next until last page is reached and verify that it is disabled
+ (0..20).each do |i| # currently we only have 4 pages, and don't expect to have more than 20 in future
+ click_button 'Next'
+ begin
+ find('button:not([disabled])', text: 'Next')
+ rescue => e
+ break
+ end
+ end
+ assert_no_selector 'button:not([disabled])', text: 'Next' # Next button is disabled
+ assert_selector 'button:not([disabled])', text: 'Prev' # Prev button is enabled
+ click_button 'Prev'
+ assert_selector 'button:not([disabled])', text: 'Next' # Next button is now enabled
+
first('button', text: 'x').click
end
assert_text 'Active pipelines' # seeing dashboard now
assert page.has_link?('Report a problem ...'), 'No link - Report a problem'
end
end
+
+ test "no SSH public key notification when shell_in_a_box_url is configured" do
+ Rails.configuration.shell_in_a_box_url = 'example.com'
+ visit page_with_token('job_reader')
+ 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'
+ end
end