From a6809bec920bdfdfc03c726d0808e696824289f5 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Fri, 19 Sep 2014 08:38:25 -0400 Subject: [PATCH] 3605: Workbench tests pass! --- .../views/projects/_show_dashboard.html.erb | 2 +- .../integration/application_layout_test.rb | 3 +- apps/workbench/test/integration/jobs_test.rb | 3 +- .../workbench/test/integration/logins_test.rb | 2 +- .../integration/pipeline_instances_test.rb | 6 +- .../integration/pipeline_templates_test.rb | 3 +- .../test/integration/projects_test.rb | 60 +++++++++++-------- .../test/integration/user_profile_test.rb | 5 +- 8 files changed, 46 insertions(+), 38 deletions(-) diff --git a/apps/workbench/app/views/projects/_show_dashboard.html.erb b/apps/workbench/app/views/projects/_show_dashboard.html.erb index e7e87368d6..a1970599bd 100644 --- a/apps/workbench/app/views/projects/_show_dashboard.html.erb +++ b/apps/workbench/app/views/projects/_show_dashboard.html.erb @@ -33,7 +33,7 @@ <% completed = [] %> <% queued = [] %> <% p.components.each do |k, v| %> - <% if v[:job] %> + <% if v.is_a? Hash and v[:job] %> <% if Job::state(v[:job]) == "Running" %> <% running << k %> <% elsif Job::state(v[:job]) == "Failed" or Job::state(v[:job]) == "Canceled" %> diff --git a/apps/workbench/test/integration/application_layout_test.rb b/apps/workbench/test/integration/application_layout_test.rb index 6ec535b7b6..69e346d078 100644 --- a/apps/workbench/test/integration/application_layout_test.rb +++ b/apps/workbench/test/integration/application_layout_test.rb @@ -21,7 +21,8 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest if profile_config && !has_profile assert page.has_text?('Save profile'), 'No text - Save profile' else - assert page.has_text?('My projects'), 'Not found text - My projects' + assert page.has_link?("Projects"), 'Not found link - Projects' + page.find("#projects-menu").click assert page.has_text?('Projects shared with me'), 'Not found text - Project shared with me' end elsif invited diff --git a/apps/workbench/test/integration/jobs_test.rb b/apps/workbench/test/integration/jobs_test.rb index b5fc56a4f3..50616de45f 100644 --- a/apps/workbench/test/integration/jobs_test.rb +++ b/apps/workbench/test/integration/jobs_test.rb @@ -23,7 +23,6 @@ class JobsTest < ActionDispatch::IntegrationTest assert page.has_text? 'Textile description for job' assert page.has_link? 'Go to dashboard' click_link 'Go to dashboard' - assert page.has_text? 'My projects' - assert page.has_text? 'Projects shared with me' + assert page.has_text? 'Active pipelines' end end diff --git a/apps/workbench/test/integration/logins_test.rb b/apps/workbench/test/integration/logins_test.rb index 0317f162ad..9d4e04bfee 100644 --- a/apps/workbench/test/integration/logins_test.rb +++ b/apps/workbench/test/integration/logins_test.rb @@ -7,7 +7,7 @@ class LoginsTest < ActionDispatch::IntegrationTest test "login with api_token works after redirect" do visit page_with_token('active_trustedclient') - assert page.has_text?('Recent jobs'), "Missing 'Recent jobs' from page" + assert page.has_text?('Active pipelines'), "Missing 'Active pipelines' from page" assert_no_match(/\bapi_token=/, current_path) end diff --git a/apps/workbench/test/integration/pipeline_instances_test.rb b/apps/workbench/test/integration/pipeline_instances_test.rb index 0be483a29b..33e581a0ef 100644 --- a/apps/workbench/test/integration/pipeline_instances_test.rb +++ b/apps/workbench/test/integration/pipeline_instances_test.rb @@ -38,7 +38,8 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest # Add this collection to the project visit '/projects' - find('.arv-project-list a,button', text: 'A Project').click + find("#projects-menu").click + find('.dropdown-menu a,button', text: 'A Project').click find('.btn', text: 'Add data').click within('.modal-dialog') do wait_for_ajax @@ -100,7 +101,8 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest # Add this collection to the project using collections menu from top nav visit '/projects' - find('.arv-project-list a,button', text: 'A Project').click + find("#projects-menu").click + find('.dropdown-menu a,button', text: 'A Project').click find('.btn', text: 'Add data').click within('.modal-dialog') do wait_for_ajax diff --git a/apps/workbench/test/integration/pipeline_templates_test.rb b/apps/workbench/test/integration/pipeline_templates_test.rb index 56d6f4a009..b909ac0378 100644 --- a/apps/workbench/test/integration/pipeline_templates_test.rb +++ b/apps/workbench/test/integration/pipeline_templates_test.rb @@ -35,8 +35,7 @@ class PipelineTemplatesTest < ActionDispatch::IntegrationTest assert page.has_text? 'Textile description for pipeline template' assert page.has_link? 'Go to dashboard' click_link 'Go to dashboard' - assert page.has_text? 'My projects' - assert page.has_text? 'Projects shared with me' + assert page.has_text? 'Active pipelines' # again visit recent templates page and verify edited description visit page_with_token("active", "/pipeline_templates") diff --git a/apps/workbench/test/integration/projects_test.rb b/apps/workbench/test/integration/projects_test.rb index 3b7f7a43be..7c5f9a6294 100644 --- a/apps/workbench/test/integration/projects_test.rb +++ b/apps/workbench/test/integration/projects_test.rb @@ -9,8 +9,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest test 'Find a project and edit its description' do visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: 'A Project'). - click + find("#projects-menu").click + find(".dropdown-menu a", text: "A Project").click within('.container-fluid', text: api_fixture('groups')['aproject']['name']) do find('span', text: api_fixture('groups')['aproject']['name']).click within('.arv-description-as-subtitle') do @@ -27,8 +27,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest test 'Find a project and edit description to textile description' do visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: 'A Project'). - click + find("#projects-menu").click + find(".dropdown-menu a", text: "A Project").click within('.container-fluid', text: api_fixture('groups')['aproject']['name']) do find('span', text: api_fixture('groups')['aproject']['name']).click within('.arv-description-as-subtitle') do @@ -52,17 +52,13 @@ class ProjectsTest < ActionDispatch::IntegrationTest click_link 'take me home' # now in dashboard - assert(page.has_text?('My projects'), 'My projects - not found on dashboard') - assert(page.has_text?('Projects shared with me'), 'Projects shared with me - not found on dashboard') - assert(page.has_text?('Textile description for A project'), "Project description not found") - assert(page.has_no_text?('*Textile description for A project*'), "Project description is not rendered properly in dashboard") - assert(page.has_no_text?('And a new paragraph in description'), "Project description is not truncated after first paragraph") + assert(page.has_text?('Active pipelines'), 'Active pipelines - not found on dashboard') end test 'Find a project and edit description to html description' do visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: 'A Project'). - click + find("#projects-menu").click + find(".dropdown-menu a", text: "A Project").click within('.container-fluid', text: api_fixture('groups')['aproject']['name']) do find('span', text: api_fixture('groups')['aproject']['name']).click within('.arv-description-as-subtitle') do @@ -79,14 +75,13 @@ class ProjectsTest < ActionDispatch::IntegrationTest "Textile description is displayed with uninterpreted formatting characters") assert(page.has_link?("take me home"),"link not found in description") click_link 'take me home' - assert page.has_text?('My projects') - assert page.has_text?('Projects shared with me') + assert page.has_text?('Active pipelines') end test 'Find a project and edit description to textile description with link to object' do visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: 'A Project'). - click + find("#projects-menu").click + find(".dropdown-menu a", text: "A Project").click within('.container-fluid', text: api_fixture('groups')['aproject']['name']) do find('span', text: api_fixture('groups')['aproject']['name']).click within('.arv-description-as-subtitle') do @@ -136,7 +131,9 @@ class ProjectsTest < ActionDispatch::IntegrationTest test 'Create a project and move it into a different project' do visit page_with_token 'active', '/projects' - find('.btn', text: "Add new project").click + find("#projects-menu").click + find(".dropdown-menu a", text: "Home").click + find('.btn', text: "Add a subproject").click # within('.editable', text: 'New project') do within('h2') do @@ -147,7 +144,9 @@ class ProjectsTest < ActionDispatch::IntegrationTest wait_for_ajax visit '/projects' - find('.btn', text: "Add new project").click + find("#projects-menu").click + find(".dropdown-menu a", text: "Home").click + find('.btn', text: "Add a subproject").click within('h2') do find('.fa-pencil').click find('.editable-input input').set('Project 5678') @@ -275,7 +274,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest when 'Copy' assert page.has_text?(my_collection['name']), 'Collection not found in src project after copy' visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: dest['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: dest['name']).click assert page.has_text?(my_collection['name']), 'Collection not found in dest project after copy' # now remove it from destination project to restore to original state @@ -283,7 +283,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest when 'Move' assert page.has_no_text?(my_collection['name']), 'Collection still found in src project after move' visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: dest['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: dest['name']).click assert page.has_text?(my_collection['name']), 'Collection not found in dest project after move' # move it back to src project to restore to original state @@ -291,7 +292,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest when 'Remove' assert page.has_no_text?(my_collection['name']), 'Collection still found in src project after remove' visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: 'Home').click + find("#projects-menu").click + find(".dropdown-menu a", text: "Home").click assert page.has_text?(my_collection['name']), 'Collection not found in home project after remove' end end @@ -299,7 +301,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest def perform_selection_action src, dest, item, action visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: src['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: src['name']).click assert page.has_text?(item['name']), 'Collection not found in src project' within('tr', text: item['name']) do @@ -335,7 +338,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest # verify that selection options are disabled on the project until an item is selected visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: my_project['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: my_project['name']).click click_button 'Selection...' within('.selection-action-container') do @@ -348,7 +352,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest # select collection and verify links are enabled visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: my_project['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: my_project['name']).click assert page.has_text?(my_collection['name']), 'Collection not found in project' within('tr', text: my_collection['name']) do @@ -370,7 +375,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest # select subproject and verify that copy action is disabled visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: my_project['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: my_project['name']).click click_link 'Subprojects' assert page.has_text?(my_subproject['name']), 'Subproject not found in project' @@ -392,7 +398,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest # select subproject and a collection and verify that copy action is still disabled visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: my_project['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: my_project['name']).click click_link 'Subprojects' assert page.has_text?(my_subproject['name']), 'Subproject not found in project' @@ -425,7 +432,8 @@ class ProjectsTest < ActionDispatch::IntegrationTest my_collection = api_fixture('collections')['collection_to_move_around_in_aproject'] visit page_with_token 'active', '/' - find('.arv-project-list a,button', text: my_project['name']).click + find("#projects-menu").click + find(".dropdown-menu a", text: my_project['name']).click assert page.has_text?(my_collection['name']), 'Collection not found in project' within('tr', text: my_collection['name']) do diff --git a/apps/workbench/test/integration/user_profile_test.rb b/apps/workbench/test/integration/user_profile_test.rb index ede67ff36a..6dbb90c325 100644 --- a/apps/workbench/test/integration/user_profile_test.rb +++ b/apps/workbench/test/integration/user_profile_test.rb @@ -25,7 +25,7 @@ class UserProfileTest < ActionDispatch::IntegrationTest assert page.has_text?('Save profile'), 'No text - Save profile' add_profile user else - assert page.has_text?('My projects'), 'Not found text - My projects' + assert page.has_text?('Active pipelines'), 'Not found text - Active pipelines' assert page.has_no_text?('Save profile'), 'Found text - Save profile' end elsif invited @@ -106,8 +106,7 @@ class UserProfileTest < ActionDispatch::IntegrationTest click_link 'Back to work!' # profile saved and in home page now - assert page.has_text?('My projects'), 'No text - My projects' - assert page.has_text?('Projects shared with me'), 'No text - Projects shared with me' + assert page.has_text?('Active pipelines'), 'No text - My projects' end [ -- 2.30.2