X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/23c1bc62ea3644636c0edce8ccee39f2094db190..41bd04e7f25b0b5882e971ff7104e3f17c19bf5b:/apps/workbench/test/controllers/collections_controller_test.rb diff --git a/apps/workbench/test/controllers/collections_controller_test.rb b/apps/workbench/test/controllers/collections_controller_test.rb index 8518378097..65349c6fbd 100644 --- a/apps/workbench/test/controllers/collections_controller_test.rb +++ b/apps/workbench/test/controllers/collections_controller_test.rb @@ -106,7 +106,7 @@ class CollectionsControllerTest < ActionController::TestCase test "viewing a collection fetches logs about it" do show_collection(:foo_file, :active) assert_includes(assigns(:logs).map(&:uuid), - api_fixture('logs')['log4']['uuid'], + api_fixture('logs')['system_adds_foo_file']['uuid'], "controller did not find related log") end @@ -356,6 +356,39 @@ class CollectionsControllerTest < ActionController::TestCase end + test "view collection with empty properties" do + fixture_name = :collection_with_empty_properties + show_collection(fixture_name, :active) + assert_equal(api_fixture('collections')[fixture_name.to_s]['name'], assigns(:object).name) + assert_not_nil(assigns(:object).properties) + assert_empty(assigns(:object).properties) + end + + test "view collection with one property" do + fixture_name = :collection_with_one_property + show_collection(fixture_name, :active) + fixture = api_fixture('collections')[fixture_name.to_s] + assert_equal(fixture['name'], assigns(:object).name) + assert_equal(fixture['properties'][0], assigns(:object).properties[0]) + end + + test "create collection with properties" do + post :create, { + collection: { + name: 'collection created with properties', + manifest_text: '', + properties: { + property_1: 'value_1' + }, + }, + format: :json + }, session_for(:active) + assert_response :success + assert_not_nil assigns(:object).uuid + assert_equal 'collection created with properties', assigns(:object).name + assert_equal 'value_1', assigns(:object).properties[:property_1] + end + test "update description and check manifest_text is not lost" do collection = api_fixture("collections")["multilevel_collection_1"] post :update, { @@ -370,4 +403,31 @@ class CollectionsControllerTest < ActionController::TestCase assert_equal 'test description update', assigns(:object).description assert_equal collection['manifest_text'], assigns(:object).manifest_text end + + test "view collection and verify none of the file types listed are disabled" do + show_collection(:collection_with_several_supported_file_types, :active) + + files = assigns(:object).files + assert_equal true, files.length>0, "Expected one or more files in collection" + + disabled = css_select('[disabled="disabled"]').collect do |el| + el + end + assert_equal 0, disabled.length, "Expected no disabled files in collection viewables list" + end + + test "view collection and verify file types listed are all disabled" do + show_collection(:collection_with_several_unsupported_file_types, :active) + + files = assigns(:object).files.collect do |_, file, _| + file + end + assert_equal true, files.length>0, "Expected one or more files in collection" + + disabled = css_select('[disabled="disabled"]').collect do |el| + el.attributes['title'].split[-1] + end + + assert_equal files.sort, disabled.sort, "Expected to see all collection files in disabled list of files" + end end