Merge branch 'master' into 2272-setup-user-in-workbench
[arvados.git] / apps / workbench / test / integration / users_test.rb
1 require 'integration_helper'
2
3 class UsersTest < ActionDispatch::IntegrationTest
4
5   test "create a new user" do
6     Capybara.current_driver = Capybara.javascript_driver
7     visit page_with_token('admin_trustedclient')
8
9     click_link 'Users'
10
11     assert page.has_text? 'zzzzz-tpzed-d9tiejq69daie8f'
12
13     click_on 'Add a new user'
14     
15     # for now just check that we are back in Users -> List page
16     assert page.has_text? 'zzzzz-tpzed-d9tiejq69daie8f'
17   end
18
19   test "unsetup active user" do
20     Capybara.current_driver = Capybara.javascript_driver
21     visit page_with_token('admin_trustedclient')
22
23     click_link 'Users'
24
25     assert page.has_link? 'zzzzz-tpzed-xurymjxw79nv3jz'
26
27     # click on active user
28     click_link 'zzzzz-tpzed-xurymjxw79nv3jz'
29     assert page.has_text? 'Attributes'
30     assert page.has_text? 'Metadata'
31     assert page.has_text? 'Admin'
32
33     # go to the Attributes tab
34     click_link 'Attributes'
35     assert page.has_text? 'modified_by_user_uuid'
36     page.within(:xpath, '//a[@data-name="is_active"]') do
37       assert_equal text, "true", "Expected user's is_active to be true"
38     end
39
40     # go to Admin tab
41     click_link 'Admin'
42     assert page.has_text? 'As an admin, you can deactivate and reset this user'
43
44     # Click on Deactivate button
45     click_button 'Deactivate Active User'
46
47     # Click Ok in the confirm dialog
48     sleep(0.1)
49
50     popup = page.driver.window_handles.last
51     page.within_window popup do
52       assert has_text? 'Are you sure you want to deactivate Active User'
53       click_button "Ok"
54     end
55
56     # Should now be back in the Attributes tab for the user
57     assert page.has_text? 'modified_by_user_uuid'
58     page.within(:xpath, '//a[@data-name="is_active"]') do
59       assert_equal text, "false", "Expected user's is_active to be false after unsetup"
60     end
61
62   end
63
64   test "setup the active user" do
65     Capybara.current_driver = Capybara.javascript_driver
66     visit page_with_token('admin_trustedclient')
67
68     click_link 'Users'
69
70     assert page.has_link? 'zzzzz-tpzed-xurymjxw79nv3jz'
71
72     # click on active user
73     click_link 'zzzzz-tpzed-xurymjxw79nv3jz'
74     assert page.has_text? 'Attributes'
75     assert page.has_text? 'Metadata'
76     assert page.has_text? 'Admin'
77
78     # go to Admin tab
79     click_link 'Admin'
80     assert page.has_text? 'As an admin, you can deactivate and reset this user'
81
82 =begin
83     # Click on Setup button
84     click_button 'Setup Active User'
85
86     # Click Ok in the confirm dialog
87     sleep(0.1)
88
89     popup = page.driver.window_handles.last
90     page.within_window popup do
91       assert has_text? 'Are you sure you want to deactivate Active User'
92       fill_in "email", :with => "test@example.com"
93       click_button "Ok"
94     end
95
96     # Should now be back in the Attributes tab for the user
97     assert page.has_text? 'modified_by_client_uuid'
98
99     puts "\n\n************* page now = \n#{page.body}"
100 =end
101   end
102
103 end