Merge branch 'master' into 4228-collection-subdir-files
authorradhika <radhika@curoverse.com>
Thu, 23 Oct 2014 20:52:06 +0000 (16:52 -0400)
committerradhika <radhika@curoverse.com>
Thu, 23 Oct 2014 20:52:06 +0000 (16:52 -0400)
Conflicts:
apps/workbench/test/integration/collections_test.rb

1  2 
apps/workbench/test/integration/collections_test.rb

index 726c20a9a98fb14615719cddda51adc3228408da,2847a3c794239968e3abb4c7fca5234a14b6962e..625e4819ecec55b46ad5cc2b113b9754d2f27e90
@@@ -148,31 -148,29 +148,56 @@@ class CollectionsTest < ActionDispatch:
      end
    end
  
 -
 +  test "combine selected collection files from collection subdirectory" do
 +    headless = Headless.new
 +    headless.start
 +    Capybara.current_driver = :selenium
 +
 +    visit page_with_token('user1_with_load', "/collections/zzzzz-4zz18-filesinsubdir00")
 +
 +    # now in collection page
 +    input_files = page.all('input[type=checkbox]')
 +    (0..input_files.count-1).each do |i|
 +      input_files[i].click
 +    end
 +
 +    click_button 'Selection...'
 +    within('.selection-action-container') do
 +      click_link 'Create new collection with selected files'
 +    end
 +
 +    # now in the newly created collection page
 +    assert(page.has_text?('file_in_subdir1'), 'file not found - file_in_subdir1')
 +    assert(page.has_text?('file1_in_subdir3.txt'), 'file not found - file1_in_subdir3.txt')
 +    assert(page.has_text?('file2_in_subdir3.txt'), 'file not found - file2_in_subdir3.txt')
 +    assert(page.has_text?('file1_in_subdir4.txt'), 'file not found - file1_in_subdir4.txt')
 +    assert(page.has_text?('file2_in_subdir4.txt'), 'file not found - file1_in_subdir4.txt')
 +
 +    headless.stop
 +  end
++
+   test "Collection portable data hash redirect" do
+     di = api_fixture('collections')['docker_image']
+     visit page_with_token('active', "/collections/#{di['portable_data_hash']}")
+     # check redirection
+     assert current_path.end_with?("/collections/#{di['uuid']}")
+     assert page.has_text?("docker_image")
+     assert page.has_text?("Activity")
+     assert page.has_text?("Sharing and permissions")
+   end
+   test "Collection portable data hash with multiple matches" do
+     pdh = api_fixture('collections')['baz_file']['portable_data_hash']
+     visit page_with_token('admin', "/collections/#{pdh}")
+     matches = api_fixture('collections').select {|k,v| v["portable_data_hash"] == pdh}
+     assert matches.size > 1
+     matches.each do |k,v|
+       assert page.has_link?(v["name"]), "Page /collections/#{pdh} should contain link '#{v['name']}'"
+     end
+     assert page.has_no_text?("Activity")
+     assert page.has_no_text?("Sharing and permissions")
+   end
  end