require 'integration_helper'
+require 'selenium-webdriver'
+require 'headless'
class UsersTest < ActionDispatch::IntegrationTest
+
test "login as active user but not admin" do
Capybara.current_driver = Capybara.javascript_driver
visit page_with_token('active_trustedclient')
end
test "create a new user" do
- Capybara.current_driver = :webkit
+ headless = Headless.new
+ headless.start
+
+ Capybara.current_driver = :selenium
+
visit page_with_token('admin_trustedclient')
click_link 'Users'
click_link 'Metadata'
assert page.has_text? '(Repository: test_repo)'
assert !(page.has_text? '(VirtualMachine:)')
+
+ headless.stop
end
test "setup the active user" do
- Capybara.current_driver = :webkit
+ headless = Headless.new
+ headless.start
+
+ Capybara.current_driver = :selenium
visit page_with_token('admin_trustedclient')
click_link 'Users'
click_link 'Setup Active User'
sleep(0.1)
+
popup = page.driver.browser.window_handles.last
page.within_window popup do
assert has_text? 'Virtual Machine'
click_link 'Metadata'
assert page.has_text? '(Repository: second_test_repo)'
assert page.has_text? '(VirtualMachine: testvm.shell)'
+
+ headless.stop
end
test "unsetup active user" do
- Capybara.current_driver = :webkit
+ headless = Headless.new
+ headless.start
+
+ Capybara.current_driver = :selenium
visit page_with_token('admin_trustedclient')
sleep(0.1)
# Should now be back in the Attributes tab for the user
+ page.driver.browser.switch_to.alert.accept
assert page.has_text? 'modified_by_user_uuid'
page.within(:xpath, '//a[@data-name="is_active"]') do
assert_equal "false", text, "Expected user's is_active to be false after unsetup"
click_link 'Metadata'
assert page.has_text? '(Repository: second_test_repo)'
assert page.has_text? '(VirtualMachine: testvm.shell)'
+
+ headless.stop
end
end