Merge branch 'master' into 3654-combine-selections
[arvados.git] / apps / workbench / test / functional / collections_controller_test.rb
index babe4fbf931542b7dc0c46d79afbb6874b8d198e..8c6aeab5325286f0d4303e1d38d733520b4ff151 100644 (file)
@@ -1,6 +1,8 @@
 require 'test_helper'
 
 class CollectionsControllerTest < ActionController::TestCase
+  NONEXISTENT_COLLECTION = "ffffffffffffffffffffffffffffffff+0"
+
   def collection_params(collection_name, file_name=nil)
     uuid = api_fixture('collections')[collection_name.to_s]['uuid']
     params = {uuid: uuid, id: uuid}
@@ -54,8 +56,8 @@ class CollectionsControllerTest < ActionController::TestCase
   end
 
   test "viewing a collection fetches related projects" do
-    show_collection(:foo_file, :active)
-    assert_includes(assigns(:projects).map(&:uuid),
+    show_collection({id: api_fixture('collections')["foo_file"]['portable_data_hash']}, :active)
+    assert_includes(assigns(:same_pdh).map(&:owner_uuid),
                     api_fixture('groups')['aproject']['uuid'],
                     "controller did not find linked project")
   end
@@ -168,9 +170,14 @@ class CollectionsControllerTest < ActionController::TestCase
       uuid: ua_collection['uuid'],
       file: ua_collection['manifest_text'].match(/ \d+:\d+:(\S+)/)[1]
     }, session_for(:inactive)
-    assert_nil(assigns(:required_user_agreements),
+    assert_nil(assigns(:unsigned_user_agreements),
                "Did not skip check_user_agreements filter " +
                "when showing the user agreement.")
     assert_response :success
   end
+
+  test "requesting nonexistent Collection returns 404" do
+    show_collection({uuid: NONEXISTENT_COLLECTION, id: NONEXISTENT_COLLECTION},
+                    :active, 404)
+  end
 end