X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/204c462041de0b063ed1169c0f600f082400815f..e2cd53d9007d56e1de4816f6aeab4bd769271162:/apps/workbench/test/helpers/share_object_helper.rb diff --git a/apps/workbench/test/helpers/share_object_helper.rb b/apps/workbench/test/helpers/share_object_helper.rb index 783e2bb1c9..0266388b77 100644 --- a/apps/workbench/test/helpers/share_object_helper.rb +++ b/apps/workbench/test/helpers/share_object_helper.rb @@ -19,6 +19,7 @@ module ShareObjectHelper # Otherwise, the not-included assertions might falsely pass because # the modal hasn't loaded yet. find(".selectable", text: name).click + assert_text "Only #{share_type} you are allowed to access are shown" assert(has_no_selector?(".modal-dialog-preview-pane"), "preview pane available in sharing dialog") if share_type == 'users' and obj and obj['email'] @@ -30,9 +31,10 @@ module ShareObjectHelper end click_on "Add" end - using_wait_time(Capybara.default_wait_time * 3) do + # Admin case takes many times longer than normal user, but not sure why + using_wait_time(30) do assert(page.has_link?(name), - "new share was not added to sharing table") + "new share #{name} was not added to sharing table") assert_equal(start_share_count + 1, share_rows.size, "new share did not add row to sharing table") end @@ -40,7 +42,8 @@ module ShareObjectHelper def modify_share_and_check(name) start_rows = share_rows - link_row = start_rows.select { |row| row.has_text?(name) } + # We assume rows have already been rendered and can be checked quickly + link_row = start_rows.select { |row| row.has_text?(name, wait:(0.1) ) } assert_equal(1, link_row.size, "row with new permission not found") within(link_row.first) do click_on("Read") @@ -55,10 +58,9 @@ module ShareObjectHelper # poltergeist returns true for confirm(), so we don't need to accept. end end - wait_for_ajax - using_wait_time(Capybara.default_wait_time * 3) do - assert(page.has_no_text?(name), - "new share row still exists after being revoked") + # Ensure revoked permission disappears from page. + using_wait_time(Capybara.default_max_wait_time * 3) do + assert_no_text name assert_equal(start_rows.size - 1, share_rows.size, "revoking share did not remove row from sharing table") end