myexperiment-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myexperiment-hackers] [2882] branches/datasets/test: Added tests for fi


From: noreply
Subject: [myexperiment-hackers] [2882] branches/datasets/test: Added tests for file data in data sets#
Date: Wed, 14 Dec 2011 11:08:29 -0500 (EST)

Revision
2882
Author
fbacall
Date
2011-12-14 11:08:28 -0500 (Wed, 14 Dec 2011)

Log Message

Added tests for file data in data sets#

Modified Paths

Added Paths

Diff

Modified: branches/datasets/test/fixtures/content_blobs.yml (2881 => 2882)


--- branches/datasets/test/fixtures/content_blobs.yml	2011-12-14 14:13:09 UTC (rev 2881)
+++ branches/datasets/test/fixtures/content_blobs.yml	2011-12-14 16:08:28 UTC (rev 2882)
@@ -30,3 +30,5 @@
 string_concat_v2:
   data: <%= load_blob_data('string_concat_v2.t2flow') %>
 
+picture_file_data:
+  data: <%= load_blob_data('file_picture.png') %>

Modified: branches/datasets/test/fixtures/contributions.yml (2881 => 2882)


--- branches/datasets/test/fixtures/contributions.yml	2011-12-14 14:13:09 UTC (rev 2881)
+++ branches/datasets/test/fixtures/contributions.yml	2011-12-14 16:08:28 UTC (rev 2882)
@@ -141,4 +141,10 @@
   contributor_id: 1 # John
   contributor_type: User
   contributable: string_concat_v2_empty (DataSet)
+  policy: only_john_can_edit
+
+contribution_data_set_string_concat_v2_files:
+  contributor_id: 1 # John
+  contributor_type: User
+  contributable: string_concat_v2_files (DataSet)
   policy: only_john_can_edit
\ No newline at end of file

Modified: branches/datasets/test/fixtures/data_items.yml (2881 => 2882)


--- branches/datasets/test/fixtures/data_items.yml	2011-12-14 14:13:09 UTC (rev 2881)
+++ branches/datasets/test/fixtures/data_items.yml	2011-12-14 16:08:28 UTC (rev 2882)
@@ -17,3 +17,9 @@
   port_name: result
   port_type: output
   data_set: string_concat_v1_example
+
+string_concat_v2_files_file_data:
+  data: picture_file_data (FileData)
+  port_name: string1
+  port_type: input
+  data_set: string_concat_v2_files

Modified: branches/datasets/test/fixtures/data_sets.yml (2881 => 2882)


--- branches/datasets/test/fixtures/data_sets.yml	2011-12-14 14:13:09 UTC (rev 2881)
+++ branches/datasets/test/fixtures/data_sets.yml	2011-12-14 16:08:28 UTC (rev 2882)
@@ -20,4 +20,12 @@
   workflow_version: 2
   category: example_data
   contributor_id: 1 # John
+  contributor_type: User
+
+string_concat_v2_files:
+  title: Data Set with Files
+  workflow: string_concat
+  workflow_version: 2
+  category: example_data
+  contributor_id: 1 # John
   contributor_type: User
\ No newline at end of file

Added: branches/datasets/test/fixtures/file_data.yml (0 => 2882)


--- branches/datasets/test/fixtures/file_data.yml	                        (rev 0)
+++ branches/datasets/test/fixtures/file_data.yml	2011-12-14 16:08:28 UTC (rev 2882)
@@ -0,0 +1,4 @@
+picture_file_data:
+  file_name: picture.png
+  content_type_id: 1 # PNG
+  content_blob: picture_file_data

Modified: branches/datasets/test/functional/data_items_controller_test.rb (2881 => 2882)


--- branches/datasets/test/functional/data_items_controller_test.rb	2011-12-14 14:13:09 UTC (rev 2881)
+++ branches/datasets/test/functional/data_items_controller_test.rb	2011-12-14 16:08:28 UTC (rev 2882)
@@ -26,7 +26,7 @@
     assert_equal "test", assigns(:data_item).data.data
   end
 
-  test "can add file data to a data set" do
+  test "can add myexperiment file to a data set" do
     data_set = data_sets(:string_concat_v1_empty)
 
     login_as(:john)
@@ -43,7 +43,48 @@
     assert_equal blobs(:picture), assigns(:data_item).data
   end
 
+  test "can upload a new file to a data set" do
+    data_set = data_sets(:string_concat_v1_empty)
 
+    login_as(:john)
+
+    assert_no_difference("ContentType.count") do
+    assert_difference("ContentBlob.count", 1) do
+    assert_difference("FileData.count", 1) do
+    assert_difference("DataItem.count", 1) do
+      post :create, :data_set_id => data_set.id,
+          :workflow_port => "string1",
+          :port_type => "input",
+          :data_type => "FileData",
+          :file_data => fixture_file_upload('files/picture_1.png', 'image/png')
+    end
+    end
+    end
+    end
+
+    assert_response :redirect
+  end
+
+  test "file data not saved if data item not saved" do
+    data_set = data_sets(:string_concat_v1_empty)
+
+    login_as(:john)
+
+    assert_no_difference("ContentBlob.count") do
+    assert_no_difference("FileData.count") do
+    assert_no_difference("DataItem.count") do
+      post :create, :data_set_id => data_set.id,
+          :workflow_port => "string1",
+          :port_type => "invalid_port_type_that_will_cause_failure",
+          :data_type => "FileData",
+          :file_data => fixture_file_upload('files/picture_1.png', 'image/png')
+    end
+    end
+    end
+
+    assert_response :unprocessable_entity
+  end
+
   test "text data not saved if data item not saved" do
     data_set = data_sets(:string_concat_v1_empty)
 
@@ -118,6 +159,30 @@
     assert_equal blobs(:picture), assigns(:data_item).data
   end
 
+  test "can replace file data in a data set without leftovers" do
+    data_item = data_items(:string_concat_v2_files_file_data)
+
+    login_as(:john)
+
+    assert_difference("ContentBlob.count", -1) do
+    assert_difference("FileData.count", -1) do
+    assert_difference("TextData.count", 1) do
+    assert_no_difference("DataItem.count") do
+      xhr :put, :update,
+          :id => data_item.id,
+          :workflow_port => "string1",
+          :port_type => "input",
+          :data_type => "TextData",
+          :data ="" "new data!"
+    end
+    end
+    end
+    end
+
+    assert_response :success
+    assert_equal "new data!", assigns(:data_item).data.data
+  end
+
   test "can delete data in a data set" do
     data_item = data_items(:string_concat_v1_example_text_data2)
 

Modified: branches/datasets/test/test_helper.rb (2881 => 2882)


--- branches/datasets/test/test_helper.rb	2011-12-14 14:13:09 UTC (rev 2881)
+++ branches/datasets/test/test_helper.rb	2011-12-14 16:08:28 UTC (rev 2882)
@@ -36,6 +36,7 @@
 
   # So the workflow_versions fixtures are created like Rails models rather than just DB records
   set_fixture_class :workflow_versions=> Workflow::Version
+  set_fixture_class :file_data => FileData
 
   # Add more helper methods to be used by all tests here...
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]