3654: add integration and funtional tests for combining collections and collection...
[arvados.git] / apps / workbench / test / functional / actions_controller_test.rb
index 965453841f7417b60d79860d4e070fc2447b5069..d152a003a157cdba9e35bd8c4592c3a3163e0cce 100644 (file)
@@ -16,4 +16,34 @@ class ActionsControllerTest < ActionController::TestCase
     assert_equal true, found_email, 'Expected email after issue reported'
   end
 
+  test "combine files into new collection" do
+    post(:combine_selected_files_into_collection, {
+           selection: ['zzzzz-4zz18-znfnqtbbv4spc3w/foo',
+                       'zzzzz-4zz18-ehbhgtheo8909or/bar',
+                       'zzzzz-4zz18-y9vne9npefyxh8g/baz',
+                       '1fd08fc162a5c6413070a8bd0bffc818+150'],
+           format: "json"},
+         session_for(:active))
+
+    assert_response 302   # collection created and redirected to new collection page
+    new_collection_uuid = response.headers['Location'].split('/')[-1]
+
+    @controller = CollectionsController.new
+
+    get :show, {
+      id: new_collection_uuid
+    }
+    assert_response :success
+
+    collection = assigns(:object)
+    manifest_text = collection['manifest_text']
+    assert manifest_text.include?('foo'), 'Not found foo in new collection manifest text'
+    assert manifest_text.include?('bar'), 'Not found bar in new collection manifest text'
+    assert manifest_text.include?('baz'), 'Not found baz in new collection manifest text'
+    assert manifest_text.include?('0:0:file1 0:0:file2 0:0:file3'),
+                'Not found 0:0:file1 0:0:file2 0:0:file3 in new collection manifest text'
+    assert manifest_text.include?('dir1/subdir'), 'Not found dir1/subdir in new collection manifest text'
+    assert manifest_text.include?('dir2'), 'Not found dir2 in new collection manifest text'
+  end
+
 end