123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- require 'browser_test_helper'
- class AdminPermissionsGranularVsFullTest < TestCase
- def test_permissions_selecting
- new_group_name = "permissions_test_group#{rand(99_999_999)}"
- @browser = browser_instance
- login(
- username: 'master@example.com',
- password: 'test',
- url: browser_url,
- )
- tasks_close_all()
- click(css: 'a[href="#manage"]')
- click(css: '.content.active a[href="#manage/groups"]')
- click(css: '.content.active a[data-type="new"]')
- modal_ready
- element = @browser.find_element(css: '.modal input[name=name]')
- element.clear
- element.send_keys(new_group_name)
- click(css: '.modal button.js-submit')
- modal_disappear
- click(css: '.content.active a[href="#manage/users"]')
- user_css = '.user-list .js-tableBody tr td'
- watch_for(css: user_css)
- @browser.find_elements(css: '.content.active .user-list td:first-child').each do |entry|
- next if entry.text.strip != 'master@example.com'
- entry.click
- break
- end
- modal_ready
- scroll_script = "var el = document.getElementsByClassName('modal')[0];"
- scroll_script += 'el.scrollTo(0, el.scrollHeight);'
- @browser.execute_script scroll_script
- group = @browser.find_elements(css: '.modal .settings-list tbody tr').find do |el|
- el.find_element(css: 'td').text == new_group_name
- end
- if !group
- screenshot(comment: 'group_not_found')
- raise "Can't find group #{new_group_name}"
- end
- toggle_checkbox(group, 'full')
- sleep(1)
- assert(checkbox_is_selected(group, 'full'))
- toggle_checkbox(group, 'read')
- sleep(1)
- assert(!checkbox_is_selected(group, 'full'))
- assert(checkbox_is_selected(group, 'read'))
- toggle_checkbox(group, 'full')
- sleep(1)
- assert(checkbox_is_selected(group, 'full'))
- assert(!checkbox_is_selected(group, 'read'))
- end
- end
|