-
- [
- [nil, '/users'],
- [nil, '/groups'],
- ['admin', '/users'],
- ['admin', '/groups'],
- ].each do |token, page|
- test "user #{token.inspect} accesses publicly accessible project and then traverses to #{page}" do
- # go to the page
- if token
- visit page_with_token(token, page)
- else
- # when anonymous, first visit publicly accessible project
- visit_publicly_accessible_project token if !token
- visit page
- end
-
- if page == '/users'
- verify_users_page token
- elsif page == '/groups'
- verify_groups_page token
- end
- end
- end
-
- def verify_users_page user
- assert_text 'user'
- if user
- assert_selector 'a', text: 'Add a new user'
- else
- assert_no_selector 'a', text: 'Add a new user'
- end
- end
-
- def verify_groups_page user
- assert_text 'Group'
- if user
- assert_selector 'button', text: 'Add a new group'
- else
- assert_no_selector 'button', text: 'Add a new group'
- end
- end