5261: Rename Summary tab to Description.
[arvados.git] / apps / workbench / test / integration / anonymous_access_test.rb
index 2e6366215c5495657874e116d737f851b5f0cc24..09e3330063a22bda1c4ced25ce9b75dd385000c3 100644 (file)
@@ -55,6 +55,7 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest
   test "selection actions when anonymous user accesses shared project" do
     visit PUBLIC_PROJECT
 
+    assert_selector 'a', text: 'Description'
     assert_selector 'a', text: 'Data collections'
     assert_selector 'a', text: 'Jobs and pipelines'
     assert_selector 'a', text: 'Pipeline templates'
@@ -63,6 +64,7 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest
     assert_no_selector 'a', text: 'Other objects'
     assert_no_selector 'button', text: 'Add data'
 
+    click_link 'Data collections'
     click_button 'Selection'
     within('.selection-action-container') do
       assert_selector 'li', text: 'Compare selected'
@@ -75,26 +77,39 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest
 
   test "anonymous user accesses data collections tab in shared project" do
     visit PUBLIC_PROJECT
+    click_link 'Data collections'
+    collection = api_fixture('collections')['user_agreement_in_anonymously_accessible_project']
     assert_text 'GNU General Public License'
 
     assert_selector 'a', text: 'Data collections'
 
     # click on show collection
-    within first('tr[data-kind="arvados#collection"]') do
+    within "tr[data-object-uuid=\"#{collection['uuid']}\"]" do
       click_link 'Show'
     end
 
     # in collection page
     assert_no_selector 'input', text: 'Create sharing link'
+    assert_no_text 'Sharing and permissions'
     assert_no_selector 'a', text: 'Upload'
     assert_no_selector 'button', 'Selection'
 
-    within ('#collection_files') do
-      assert_text 'GNU_General_Public_License,_version_3.pdf'
-      # how do i assert the view and download link existence?
+    within '#collection_files tr,li', text: 'GNU_General_Public_License,_version_3.pdf' do
+      find 'a[title~=View]'
+      find 'a[title~=Download]'
     end
   end
 
+  test 'view file' do
+    magic = rand(2**512).to_s 36
+    CollectionsController.any_instance.stubs(:file_enumerator).returns([magic])
+    collection = api_fixture('collections')['public_text_file']
+    visit '/collections/' + collection['uuid']
+    find('tr,li', text: 'Hello world.txt').
+      find('a[title~=View]').click
+    assert_text magic
+  end
+
   [
     'running_job',
     'completed_job',
@@ -102,6 +117,7 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest
   ].each do |type|
     test "anonymous user accesses jobs and pipelines tab in shared project and clicks on #{type}" do
       visit PUBLIC_PROJECT
+      click_link 'Data collections'
       assert_text 'GNU General Public License'
 
       click_link 'Jobs and pipelines'
@@ -143,6 +159,7 @@ class AnonymousAccessTest < ActionDispatch::IntegrationTest
 
   test "anonymous user accesses pipeline templates tab in shared project" do
     visit PUBLIC_PROJECT
+    click_link 'Data collections'
     assert_text 'GNU General Public License'
 
     assert_selector 'a', text: 'Pipeline templates'