5034: Update Workbench integration tests.
authorBrett Smith <brett@curoverse.com>
Fri, 13 Mar 2015 21:31:10 +0000 (17:31 -0400)
committerBrett Smith <brett@curoverse.com>
Fri, 13 Mar 2015 21:31:44 +0000 (17:31 -0400)
A lot of tests started failing because

* they were looking for the string "content hash" to assert they were
  on a collection page, or
* they expect the portable data hash to be real text on the page (as
  opposed to the value of an <input>).

Fixes:

* Have the upload test check that the collection is empty by looking
  for the relevant size information, which was specified by the story.
* Make sure we're on a specific collection page by looking for the
  collection's name or UUID (depending on what's available).
* Refute we're on a specific collection page by matching against the
  URL.  This seems much safer in the long run.
* Remove the "Content hash" assertion from projects test altogether.
  The prior text assertion should be sufficient to ensure we're on the
  right page.

Refs #5034.

apps/workbench/test/integration/collection_upload_test.rb
apps/workbench/test/integration/collections_test.rb
apps/workbench/test/integration/projects_test.rb

index 38b60267edde70a8ae11ed288d7eef3d86ce5094..6960d3bc899d47bdfe929719f88dd24615db3f98 100644 (file)
@@ -22,7 +22,8 @@ class CollectionUploadTest < ActionDispatch::IntegrationTest
     click_link 'Upload files from my computer'
     # Should be looking at a new empty collection.
     assert_text 'New collection'
-    assert_text 'd41d8cd98f00b204e9800998ecf8427e+0'
+    assert_text ' 0 files'
+    assert_text ' 0 bytes'
     # The "Upload" tab should be active and loaded.
     assert_selector 'div#Upload.active div.panel'
   end
index 0a026f107d1f4a2d38f46f1cefdfa00058660394..4a7014c37db83639e34ae01dbe5e0a013d41041c 100644 (file)
@@ -249,13 +249,13 @@ class CollectionsTest < ActionDispatch::IntegrationTest
     # make sure that we actually are looking at the collections
     # page and not e.g. a fiddlesticks
     assert page.has_text?("multilevel_collection_1")
-    assert page.has_text?(col['portable_data_hash'])
+    assert page.has_text?(col["name"] || col["uuid"])
 
     # Set filename filter to a syntactically invalid regex
     # Page loads, but stops filtering after the last valid regex parse
     page.find_field('file_regex').set('file[2')
     assert page.has_text?("multilevel_collection_1")
-    assert page.has_text?(col['portable_data_hash'])
+    assert page.has_text?(col["name"] || col["uuid"])
     assert page.has_text?("file1")
     assert page.has_text?("file2")
     assert page.has_text?("file3")
@@ -328,15 +328,14 @@ class CollectionsTest < ActionDispatch::IntegrationTest
     end
 
     # now in the newly created collection page
-    assert page.has_text?('Content hash:'), 'not on new collection page'
-    assert page.has_no_text?(col['uuid']), 'new collection page has old collection uuid'
-    assert page.has_no_text?(col['portable_data_hash']), 'new collection page has old portable_data_hash'
-
     # must have files in subdir1 and subdir3 but not subdir4
     assert page.has_text?('file_in_subdir1'), 'file_in_subdir1 missing from new collection'
     assert page.has_text?('file1_in_subdir3'), 'file1_in_subdir3 missing from new collection'
     assert page.has_text?('file2_in_subdir3'), 'file2_in_subdir3 missing from new collection'
     assert page.has_no_text?('file1_in_subdir4'), 'file1_in_subdir4 found in new collection'
     assert page.has_no_text?('file2_in_subdir4'), 'file2_in_subdir4 found in new collection'
+
+    # Make sure we're not still on the old collection page.
+    refute_match(%r{/collections/#{col['uuid']}}, page.current_url)
   end
 end
index 9ee328c5369b0ff7bd36dc5361ab18b7a653538d..6c9bd6698efb118851da8a11056037652950f0b5 100644 (file)
@@ -513,7 +513,6 @@ class ProjectsTest < ActionDispatch::IntegrationTest
         assert page.has_text?("Created new collection in your Home project"),
                               'Not found flash message that new collection is created in Home project'
       end
-      assert page.has_text?('Content hash'), 'Not found content hash in collection page'
     end
   end