11060: show all repositories that are accessible to the user in <user_uuid>/repositor...
[arvados.git] / apps / workbench / test / integration / trash_test.rb
1 require 'integration_helper'
2
3 class TrashTest < ActionDispatch::IntegrationTest
4   setup do
5     need_javascript
6   end
7
8   test "trash page" do
9     deleted = api_fixture('collections')['deleted_on_next_sweep']
10     expired1 = api_fixture('collections')['unique_expired_collection']
11     expired2 = api_fixture('collections')['unique_expired_collection2']
12
13     # visit trash page
14     visit page_with_token('active', "/trash")
15
16     assert_text deleted['name']
17     assert_text expired1['name']
18     assert_no_text expired2['name']   # not readable by this user
19     assert_no_text 'foo_file'         # not trash
20
21     # Un-trash one item using selection dropdown
22     within('tr', text: deleted['name']) do
23       first('input').click
24     end
25
26     click_button 'Selection...'
27     within('.selection-action-container') do
28       click_link 'Un-trash selected items'
29     end
30
31     wait_for_ajax
32
33     assert_text expired1['name']      # this should still be there
34     assert_no_text deleted['name']    # this should no longer be here
35
36     # Un-trash another item using the recycle button
37     within('tr', text: expired1['name']) do
38       first('.fa-recycle').click
39     end
40
41     wait_for_ajax
42
43     assert_no_text expired1['name']
44
45     # verify that the two un-trashed items are now shown in /collections page
46     visit page_with_token('active', "/collections")
47     assert_text deleted['uuid']
48     assert_text expired1['uuid']
49     assert_no_text expired2['uuid']
50   end
51
52   test "trash page with search" do
53     deleted = api_fixture('collections')['deleted_on_next_sweep']
54     expired = api_fixture('collections')['unique_expired_collection']
55
56     visit page_with_token('active', "/trash")
57
58     assert_text deleted['name']
59     assert_text expired['name']
60
61     page.find_field('Search trash').set 'expired'
62
63     assert_text expired['name']
64     assert_no_text deleted['name']
65
66     click_button 'Selection...'
67     within('.selection-action-container') do
68       assert_selector 'li.disabled', text: 'Un-trash selected items'
69     end
70
71     first('input').click
72
73     click_button 'Selection...'
74     within('.selection-action-container') do
75       assert_selector 'li', text: 'Un-trash selected items'
76       assert_selector 'li.disabled', text: 'Un-trash selected items'
77     end
78   end
79 end