X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a94e15cab04a19dcbb02f2e95335e337c8e55036..fc16c2ebbb92d9b0e52b6435b717f26b9680c7e6:/apps/workbench/test/controllers/projects_controller_test.rb diff --git a/apps/workbench/test/controllers/projects_controller_test.rb b/apps/workbench/test/controllers/projects_controller_test.rb index c2089ad18d..119ed8c8f4 100644 --- a/apps/workbench/test/controllers/projects_controller_test.rb +++ b/apps/workbench/test/controllers/projects_controller_test.rb @@ -28,7 +28,7 @@ class ProjectsControllerTest < ActionController::TestCase id: readonly_project_uuid }, session_for(which_user) buttons = css_select('[data-method=post]').select do |el| - el.attributes['href'].match /project.*owner_uuid.*#{readonly_project_uuid}/ + el.attributes['data-remote-href'].match /project.*owner_uuid.*#{readonly_project_uuid}/ end if should_show assert_not_empty(buttons, "did not offer to create a subproject") @@ -138,6 +138,33 @@ class ProjectsControllerTest < ActionController::TestCase assert_equal api_fixture('users', 'subproject_admin')['uuid'], new_specimen.owner_uuid end + # An object which does not offer an expired_at field but has a xx_owner_uuid_name_unique constraint + # will be renamed when removed and another object with the same name exists in user's home project. + [ + ['groups', 'subproject_in_asubproject_with_same_name_as_one_in_active_user_home'], + ['pipeline_templates', 'template_in_asubproject_with_same_name_as_one_in_active_user_home'], + ].each do |dm, fixture| + test "removing #{dm} from a subproject results in renaming it when there is another such object with same name in home project" do + object = api_fixture(dm, fixture) + delete(:remove_item, + { id: api_fixture('groups', 'asubproject')['uuid'], + item_uuid: object['uuid'], + format: 'js' }, + session_for(:active)) + assert_response :success + assert_match(/\b#{object['uuid']}\b/, @response.body, + "removed object not named in response") + use_token :active + if dm.eql?('groups') + found = Group.find(object['uuid']) + else + found = PipelineTemplate.find(object['uuid']) + end + assert_equal api_fixture('users', 'active')['uuid'], found.owner_uuid + assert_equal true, found.name.include?(object['name'] + ' removed from ') + end + end + test 'projects#show tab infinite scroll partial obeys limit' do get_contents_rows(limit: 1, filters: [['uuid','is_a',['arvados#job']]]) assert_response :success