+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
require 'integration_helper'
require 'helpers/share_object_helper'
require_relative 'integration_test_utils'
test 'Create a project and move it into a different project' do
visit page_with_token 'active', '/projects'
find("#projects-menu").click
- find(".dropdown-menu a", text: "Home").click
+ within('.dropdown-menu') do
+ first('li', text: 'Home').click
+ end
+ wait_for_ajax
find('.btn', text: "Add a subproject").click
within('h2') do
visit '/projects'
find("#projects-menu").click
- find(".dropdown-menu a", text: "Home").click
+ within('.dropdown-menu') do
+ first('li', text: 'Home').click
+ end
+ wait_for_ajax
find('.btn', text: "Add a subproject").click
within('h2') do
find('.fa-pencil').click
end
test "projects not publicly sharable when anonymous browsing disabled" do
- Rails.configuration.anonymous_user_token = false
+ Rails.configuration.Users.AnonymousUserToken = ""
open_groups_sharing
# Check for a group we do expect first, to make sure the modal's loaded.
assert_selector(".modal-container .selectable",
end
test "projects publicly sharable when anonymous browsing enabled" do
- Rails.configuration.anonymous_user_token = "testonlytoken"
+ Rails.configuration.Users.AnonymousUserToken = "testonlytoken"
open_groups_sharing
assert_selector(".modal-container .selectable",
text: group_name("anonymous_group"))
show_object_using('active', 'groups', 'aproject', 'A Project')
click_on "Sharing"
click_on "Share with groups"
- good_uuid = api_fixture("groups")["private"]["uuid"]
+ good_uuid = api_fixture("groups")["future_project_viewing_group"]["uuid"]
assert(page.has_selector?(".selectable[data-object-uuid=\"#{good_uuid}\"]"),
"'share with groups' listing missing owned user group")
bad_uuid = api_fixture("groups")["asubproject"]["uuid"]
[
['project_with_10_pipelines', 10, 0],
- ['project_with_2_pipelines_and_60_jobs', 2, 60],
+ ['project_with_2_pipelines_and_60_crs', 2, 60],
['project_with_25_pipelines', 25, 0],
- ].each do |project_name, num_pipelines, num_jobs|
- test "scroll pipeline instances tab for #{project_name} with #{num_pipelines} pipelines and #{num_jobs} jobs" do
- item_list_parameter = "Jobs_and_pipelines"
+ ].each do |project_name, num_pipelines, num_crs|
+ test "scroll pipeline instances tab for #{project_name} with #{num_pipelines} pipelines and #{num_crs} container requests" do
+ item_list_parameter = "Pipelines_and_processes"
scroll_setup project_name,
- num_pipelines + num_jobs,
+ num_pipelines + num_crs,
item_list_parameter
# check the general scrolling and the pipelines
scroll_items_check num_pipelines,
"pipeline_",
item_list_parameter,
'tr[data-kind="arvados#pipelineInstance"]'
- # Check job count separately
- jobs_found = page.all('tr[data-kind="arvados#job"]')
- found_job_count = jobs_found.count
- assert_equal num_jobs, found_job_count, 'Did not find expected number of jobs'
+ # Check container request count separately
+ crs_found = page.all('tr[data-kind="arvados#containerRequest"]')
+ found_cr_count = crs_found.count
+ assert_equal num_crs, found_cr_count, 'Did not find expected number of container requests'
end
end
test "error while loading tab" do
- original_arvados_v1_base = Rails.configuration.arvados_v1_base
+ original_arvados_v1_base = Rails.configuration.Services.Controller.ExternalURL
visit page_with_token 'active', '/projects/' + api_fixture('groups')['aproject']['uuid']
# Point to a bad api server url to generate error
- Rails.configuration.arvados_v1_base = "https://[::1]:1/"
+ Rails.configuration.Services.Controller.ExternalURL = "https://[::1]:1/"
click_link 'Other objects'
within '#Other_objects' do
# Error
assert_selector('a', text: 'Reload tab')
# Now point back to the orig api server and reload tab
- Rails.configuration.arvados_v1_base = original_arvados_v1_base
+ Rails.configuration.Services.Controller.ExternalURL = original_arvados_v1_base
click_link 'Reload tab'
assert_no_selector('a', text: 'Reload tab')
assert_selector('button', text: 'Selection')
end
test "add new project using projects dropdown" do
- # verify that selection options are disabled on the project until an item is selected
visit page_with_token 'active', '/'
# Add a new project
click_link 'Add a new project'
assert_text 'New project'
assert_text 'No description provided'
-
- # Add one more new project
- find("#projects-menu").click
- click_link 'Add a new project'
- match = /New project \(\d\)/.match page.text
- assert match, 'Expected project name not found'
- assert_text 'No description provided'
end
test "first tab loads data when visiting other tab directly" do
assert_no_selector 'li.disabled', text: 'Copy selected'
end
- # Go to Jobs and pipelines tab and assert none selected
- click_link 'Jobs and pipelines'
+ # Go to Pipelines and processes tab and assert none selected
+ click_link 'Pipelines and processes'
wait_for_ajax
# Since this is the first visit to this tab, all selection options should be disabled
# add to favorites
find('.fa-star-o').click
+ wait_for_ajax
find("#projects-menu").click
within('.dropdown-menu') do
# remove from favotires
find('.fa-star').click
+ wait_for_ajax
+
find("#projects-menu").click
within('.dropdown-menu') do
assert_no_selector 'li', text: 'Unrestricted public data'
end
end
+
+ [
+ ['Workflow with input specifications', 'this workflow has inputs specified', 'Provide a value for the following'],
+ ].each do |template_name, preview_txt, process_txt|
+ test "run a process using template #{template_name} in a project" do
+ project = api_fixture('groups')['aproject']
+ visit page_with_token 'active', '/projects/' + project['uuid']
+
+ find('.btn', text: 'Run a process').click
+
+ # in the chooser, verify preview and click Next button
+ within('.modal-dialog') do
+ find('.selectable', text: template_name).click
+ assert_text preview_txt
+ find('.btn', text: 'Next: choose inputs').click
+ end
+
+ # in the process page now
+ assert_text process_txt
+ assert_text project['name']
+ end
+ end
end