diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 16:18:24 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-09-20 16:18:24 +0300 |
commit | 0653e08efd039a5905f3fa4f6e9cef9f5d2f799c (patch) | |
tree | 4dcc884cf6d81db44adae4aa99f8ec1233a41f55 /spec/features/projects | |
parent | 744144d28e3e7fddc117924fef88de5d9674fe4c (diff) |
Add latest changes from gitlab-org/gitlab@14-3-stable-eev14.3.0-rc42
Diffstat (limited to 'spec/features/projects')
17 files changed, 65 insertions, 56 deletions
diff --git a/spec/features/projects/ci/editor_spec.rb b/spec/features/projects/ci/editor_spec.rb index 192bccd6f6e..7fe1c63f490 100644 --- a/spec/features/projects/ci/editor_spec.rb +++ b/spec/features/projects/ci/editor_spec.rb @@ -27,10 +27,6 @@ RSpec.describe 'Pipeline Editor', :js do end context 'branch switcher' do - before do - stub_feature_flags(pipeline_editor_branch_switcher: true) - end - def switch_to_branch(branch) find('[data-testid="branch-selector"]').click diff --git a/spec/features/projects/commits/user_browses_commits_spec.rb b/spec/features/projects/commits/user_browses_commits_spec.rb index 76162fb800a..863fdbdadaa 100644 --- a/spec/features/projects/commits/user_browses_commits_spec.rb +++ b/spec/features/projects/commits/user_browses_commits_spec.rb @@ -12,7 +12,7 @@ RSpec.describe 'User browses commits' do sign_in(user) end - it 'renders commit' do + it 'renders commit', :js do visit project_commit_path(project, sample_commit.id) expect(page).to have_content(sample_commit.message.gsub(/\s+/, ' ')) @@ -103,7 +103,7 @@ RSpec.describe 'User browses commits' do context 'when the blob does not exist' do let(:commit) { create(:commit, project: project) } - it 'renders successfully' do + it 'renders successfully', :js do allow_next_instance_of(Gitlab::Diff::File) do |instance| allow(instance).to receive(:blob).and_return(nil) end @@ -113,7 +113,9 @@ RSpec.describe 'User browses commits' do visit(project_commit_path(project, commit)) - expect(find('.diff-file-changes', visible: false)).to have_content('files/ruby/popen.rb') + click_button '2 changed files' + + expect(find('[data-testid="diff-stats-dropdown"]')).to have_content('files/ruby/popen.rb') end end diff --git a/spec/features/projects/feature_flags/user_updates_feature_flag_spec.rb b/spec/features/projects/feature_flags/user_updates_feature_flag_spec.rb index f6330491886..71c9d89fbde 100644 --- a/spec/features/projects/feature_flags/user_updates_feature_flag_spec.rb +++ b/spec/features/projects/feature_flags/user_updates_feature_flag_spec.rb @@ -66,20 +66,4 @@ RSpec.describe 'User updates feature flag', :js do end end end - - context 'with a legacy feature flag' do - let!(:feature_flag) do - create_flag(project, 'ci_live_trace', true, - description: 'For live trace feature', - version: :legacy_flag) - end - - let!(:scope) { create_scope(feature_flag, 'review/*', true) } - - it 'shows not found error' do - visit(edit_project_feature_flag_path(project, feature_flag)) - - expect(page).to have_text 'Page Not Found' - end - end end diff --git a/spec/features/projects/import_export/import_file_spec.rb b/spec/features/projects/import_export/import_file_spec.rb index 302187917b7..00e85a215b8 100644 --- a/spec/features/projects/import_export/import_file_spec.rb +++ b/spec/features/projects/import_export/import_file_spec.rb @@ -10,6 +10,7 @@ RSpec.describe 'Import/Export - project import integration test', :js do let(:export_path) { "#{Dir.tmpdir}/import_file_spec" } before do + stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false) stub_uploads_object_storage(FileUploader) allow_next_instance_of(Gitlab::ImportExport) do |instance| allow(instance).to receive(:storage_path).and_return(export_path) diff --git a/spec/features/projects/jobs/permissions_spec.rb b/spec/features/projects/jobs/permissions_spec.rb index 140d5dee270..a904ba770dd 100644 --- a/spec/features/projects/jobs/permissions_spec.rb +++ b/spec/features/projects/jobs/permissions_spec.rb @@ -90,7 +90,7 @@ RSpec.describe 'Project Jobs Permissions' do it_behaves_like 'recent job page details responds with status', 200 do it 'renders job details', :js do - expect(page).to have_content "Job ##{job.id}" + expect(page).to have_content "Job #{job.name}" expect(page).to have_css '.log-line' end end diff --git a/spec/features/projects/jobs/user_browses_job_spec.rb b/spec/features/projects/jobs/user_browses_job_spec.rb index 9b199157d79..060b7ffbfc9 100644 --- a/spec/features/projects/jobs/user_browses_job_spec.rb +++ b/spec/features/projects/jobs/user_browses_job_spec.rb @@ -21,7 +21,7 @@ RSpec.describe 'User browses a job', :js do it 'erases the job log', :js do wait_for_requests - expect(page).to have_content("Job ##{build.id}") + expect(page).to have_content("Job #{build.name}") expect(page).to have_css('.job-log') # scroll to the top of the page first diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb index 94543290050..113ba692497 100644 --- a/spec/features/projects/members/user_requests_access_spec.rb +++ b/spec/features/projects/members/user_requests_access_spec.rb @@ -23,7 +23,7 @@ RSpec.describe 'Projects > Members > User requests access', :js do it 'user can request access to a project' do perform_enqueued_jobs { click_link 'Request Access' } - expect(ActionMailer::Base.deliveries.last.to).to eq [maintainer.notification_email] + expect(ActionMailer::Base.deliveries.last.to).to eq [maintainer.notification_email_or_default] expect(ActionMailer::Base.deliveries.last.subject).to eq "Request to join the #{project.full_name} project" expect(project.requesters.exists?(user_id: user)).to be_truthy diff --git a/spec/features/projects/new_project_spec.rb b/spec/features/projects/new_project_spec.rb index 0b293970703..39f9d3b331b 100644 --- a/spec/features/projects/new_project_spec.rb +++ b/spec/features/projects/new_project_spec.rb @@ -6,6 +6,10 @@ RSpec.describe 'New project', :js do include Select2Helper include Spec::Support::Helpers::Features::TopNavSpecHelpers + before do + stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false) + end + context 'as a user' do let(:user) { create(:user) } diff --git a/spec/features/projects/package_files_spec.rb b/spec/features/projects/package_files_spec.rb index c5c03396d71..6dc0294bb9e 100644 --- a/spec/features/projects/package_files_spec.rb +++ b/spec/features/projects/package_files_spec.rb @@ -23,20 +23,6 @@ RSpec.describe 'PackageFiles' do expect(status_code).to eq(200) end - context 'when package_details_apollo feature flag is off' do - before do - stub_feature_flags(package_details_apollo: false) - end - - it 'renders the download link with the correct url', :js do - visit project_package_path(project, package) - - download_url = download_project_package_file_path(project, package_file) - - expect(page).to have_link(package_file.file_name, href: download_url) - end - end - it 'does not allow download of package belonging to different project' do another_package = create(:maven_package) another_file = another_package.package_files.first diff --git a/spec/features/projects/packages_spec.rb b/spec/features/projects/packages_spec.rb index 30298f79312..7fcc8200b1c 100644 --- a/spec/features/projects/packages_spec.rb +++ b/spec/features/projects/packages_spec.rb @@ -37,14 +37,6 @@ RSpec.describe 'Packages' do it_behaves_like 'packages list' - context 'when package_details_apollo feature flag is off' do - before do - stub_feature_flags(package_details_apollo: false) - end - - it_behaves_like 'package details link' - end - it_behaves_like 'package details link' context 'deleting a package' do diff --git a/spec/features/projects/services/user_activates_slack_slash_command_spec.rb b/spec/features/projects/services/user_activates_slack_slash_command_spec.rb index 4dfd4416eeb..bc84ccaa432 100644 --- a/spec/features/projects/services/user_activates_slack_slash_command_spec.rb +++ b/spec/features/projects/services/user_activates_slack_slash_command_spec.rb @@ -16,7 +16,7 @@ RSpec.describe 'Slack slash commands', :js do end it 'shows a help message' do - expect(page).to have_content('This service allows users to perform common') + expect(page).to have_content('Perform common operations in this project') end it 'redirects to the integrations page after saving but not activating' do @@ -42,6 +42,6 @@ RSpec.describe 'Slack slash commands', :js do end it 'shows help content' do - expect(page).to have_content('This service allows users to perform common operations on this project by entering slash commands in Slack.') + expect(page).to have_content('Perform common operations in this project by entering slash commands in Slack.') end end diff --git a/spec/features/projects/settings/access_tokens_spec.rb b/spec/features/projects/settings/access_tokens_spec.rb index 33e2623522e..deeab084c5f 100644 --- a/spec/features/projects/settings/access_tokens_spec.rb +++ b/spec/features/projects/settings/access_tokens_spec.rb @@ -65,7 +65,7 @@ RSpec.describe 'Project > Settings > Access Tokens', :js do click_on 'Create project access token' expect(active_project_access_tokens).to have_text(name) - expect(active_project_access_tokens).to have_text('In') + expect(active_project_access_tokens).to have_text('in') expect(active_project_access_tokens).to have_text('api') expect(active_project_access_tokens).to have_text('read_api') expect(active_project_access_tokens).to have_text('Maintainer') @@ -156,6 +156,18 @@ RSpec.describe 'Project > Settings > Access Tokens', :js do expect(active_project_access_tokens).to have_text(project_access_token.name) end + + context 'when User#time_display_relative is false' do + before do + user.update!(time_display_relative: false) + end + + it 'shows absolute times for expires_at' do + visit project_settings_access_tokens_path(project) + + expect(active_project_access_tokens).to have_text(PersonalAccessToken.last.expires_at.strftime('%b %d')) + end + end end describe 'inactive tokens' do diff --git a/spec/features/projects/settings/monitor_settings_spec.rb b/spec/features/projects/settings/monitor_settings_spec.rb index 2d8c418b7d0..e3d75c30e5e 100644 --- a/spec/features/projects/settings/monitor_settings_spec.rb +++ b/spec/features/projects/settings/monitor_settings_spec.rb @@ -150,6 +150,33 @@ RSpec.describe 'Projects > Settings > For a forked project', :js do assert_text('Connection failed. Check Auth Token and try again.') end end + + context 'integrated error tracking backend' do + it 'successfully fills and submits the form' do + visit project_settings_operations_path(project) + + wait_for_requests + + within '.js-error-tracking-settings' do + click_button('Expand') + end + + expect(page).to have_content('Error tracking backend') + + within '.js-error-tracking-settings' do + check('Active') + choose('GitLab') + end + + expect(page).not_to have_content('Sentry API URL') + + click_button('Save changes') + + wait_for_requests + + assert_text('Your changes have been saved') + end + end end context 'grafana integration settings form' do diff --git a/spec/features/projects/settings/repository_settings_spec.rb b/spec/features/projects/settings/repository_settings_spec.rb index f420a8a76b9..4e1b55d3d70 100644 --- a/spec/features/projects/settings/repository_settings_spec.rb +++ b/spec/features/projects/settings/repository_settings_spec.rb @@ -31,11 +31,11 @@ RSpec.describe 'Projects > Settings > Repository settings' do before do stub_container_registry_config(enabled: true) stub_feature_flags(ajax_new_deploy_token: project) - visit project_settings_repository_path(project) end it_behaves_like 'a deploy token in settings' do let(:entity_type) { 'project' } + let(:page_path) { project_settings_repository_path(project) } end end diff --git a/spec/features/projects/settings/service_desk_setting_spec.rb b/spec/features/projects/settings/service_desk_setting_spec.rb index 91355d8f625..0924f8320e1 100644 --- a/spec/features/projects/settings/service_desk_setting_spec.rb +++ b/spec/features/projects/settings/service_desk_setting_spec.rb @@ -38,7 +38,6 @@ RSpec.describe 'Service Desk Setting', :js, :clean_gitlab_redis_cache do expect(project.service_desk_enabled).to be_truthy expect(project.service_desk_address).to be_present expect(find('[data-testid="incoming-email"]').value).to eq(project.service_desk_incoming_address) - expect(page).not_to have_selector('#service-desk-project-suffix') end end diff --git a/spec/features/projects/settings/user_manages_project_members_spec.rb b/spec/features/projects/settings/user_manages_project_members_spec.rb index be4b6d6b82d..02a634a0fcc 100644 --- a/spec/features/projects/settings/user_manages_project_members_spec.rb +++ b/spec/features/projects/settings/user_manages_project_members_spec.rb @@ -43,10 +43,15 @@ RSpec.describe 'Projects > Settings > User manages project members' do visit(project_project_members_path(project)) - click_link('Import a project') + click_on 'Import from a project' + click_on 'Select a project' + wait_for_requests - select2(project2.id, from: '#source_project_id') - click_button('Import project members') + click_button project2.name + click_button 'Import project members' + wait_for_requests + + page.refresh expect(find_member_row(user_mike)).to have_content('Reporter') end diff --git a/spec/features/projects/user_creates_project_spec.rb b/spec/features/projects/user_creates_project_spec.rb index 2dc2f168896..9f08759603e 100644 --- a/spec/features/projects/user_creates_project_spec.rb +++ b/spec/features/projects/user_creates_project_spec.rb @@ -6,6 +6,7 @@ RSpec.describe 'User creates a project', :js do let(:user) { create(:user) } before do + stub_feature_flags(paginatable_namespace_drop_down_for_project_creation: false) sign_in(user) create(:personal_key, user: user) end |