2754: Add integration test, fix selection bugs.
[arvados.git] / apps / workbench / test / integration / collections_test.rb
index 2eb10d619ce3eff26031f646e5a2148ac95e6221..4a33693018a8f83137650374b57cf3a4615935d5 100644 (file)
@@ -6,15 +6,12 @@ class CollectionsTest < ActionDispatch::IntegrationTest
 
   def change_persist oldstate, newstate
     find "div[data-persistent-state='#{oldstate}']"
-    assert_raises Capybara::ElementNotFound do
-      find "div[data-persistent-state='#{newstate}']"
-    end
-    find('label', text: newstate.capitalize).click
-    find 'label.active', text: newstate.capitalize
+    page.assert_no_selector "div[data-persistent-state='#{newstate}']"
+    find('.btn', text: oldstate.capitalize).click
+    find '.btn', text: newstate.capitalize
+    page.assert_no_selector '.btn', text: oldstate.capitalize
     find "div[data-persistent-state='#{newstate}']"
-    assert_raises Capybara::ElementNotFound do
-      find "div[data-persistent-state='#{oldstate}']"
-    end
+    page.assert_no_selector "div[data-persistent-state='#{oldstate}']"
   end
 
   ['/collections', '/'].each do |path|
@@ -42,4 +39,13 @@ class CollectionsTest < ActionDispatch::IntegrationTest
     change_persist 'persistent', 'cache'
   end
 
+  test "Collection page renders default name links" do
+    uuid = api_fixture('collections')['foo_file']['uuid']
+    coll_name = api_fixture('links')['foo_collection_name_in_afolder']['name']
+    visit page_with_token('active', "/collections/#{uuid}")
+    assert(page.has_text?(coll_name), "Collection page did not include name")
+    # Now check that the page is otherwise normal, and the collection name
+    # isn't only showing up in an error message.
+    assert(page.has_link?('foo'), "Collection page did not include file link")
+  end
 end