diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
commit | e8d2c2579383897a1dd7f9debd359abe8ae8373d (patch) | |
tree | c42be41678c2586d49a75cabce89322082698334 /spec/features/groups | |
parent | fc845b37ec3a90aaa719975f607740c22ba6a113 (diff) | |
download | gitlab-ce-e8d2c2579383897a1dd7f9debd359abe8ae8373d.tar.gz |
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'spec/features/groups')
-rw-r--r-- | spec/features/groups/import_export/connect_instance_spec.rb | 11 | ||||
-rw-r--r-- | spec/features/groups/import_export/import_file_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/groups/members/manage_members_spec.rb | 4 | ||||
-rw-r--r-- | spec/features/groups/merge_requests_spec.rb | 25 | ||||
-rw-r--r-- | spec/features/groups/navbar_spec.rb | 74 | ||||
-rw-r--r-- | spec/features/groups/packages_spec.rb | 22 | ||||
-rw-r--r-- | spec/features/groups/settings/repository_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/groups/settings/user_searches_in_settings_spec.rb | 4 | ||||
-rw-r--r-- | spec/features/groups/show_spec.rb | 8 | ||||
-rw-r--r-- | spec/features/groups/user_browse_projects_group_page_spec.rb | 2 |
10 files changed, 59 insertions, 95 deletions
diff --git a/spec/features/groups/import_export/connect_instance_spec.rb b/spec/features/groups/import_export/connect_instance_spec.rb index 563c8f429f8..cf893e444c4 100644 --- a/spec/features/groups/import_export/connect_instance_spec.rb +++ b/spec/features/groups/import_export/connect_instance_spec.rb @@ -24,6 +24,7 @@ RSpec.describe 'Import/Export - Connect to another instance', :js do pat = 'demo-pat' stub_path = 'stub-group' total = 37 + stub_request(:get, "%{url}/api/v4/groups?page=1&per_page=20&top_level_only=true&min_access_level=50&search=" % { url: source_url }).to_return( body: [{ id: 2595438, @@ -32,7 +33,7 @@ RSpec.describe 'Import/Export - Connect to another instance', :js do path: stub_path, full_name: 'Stub', full_path: stub_path - }].to_json, + }].to_json, headers: { 'Content-Type' => 'application/json', 'X-Next-Page' => 2, @@ -43,6 +44,10 @@ RSpec.describe 'Import/Export - Connect to another instance', :js do } ) + allow_next_instance_of(BulkImports::Clients::HTTP) do |client| + allow(client).to receive(:validate_instance_version!).and_return(true) + end + expect(page).to have_content 'Import groups from another instance of GitLab' expect(page).to have_content 'Not all related objects are migrated' @@ -53,6 +58,10 @@ RSpec.describe 'Import/Export - Connect to another instance', :js do expect(page).to have_content 'Showing 1-1 of %{total} groups from %{url}' % { url: source_url, total: total } expect(page).to have_content stub_path + + visit '/' + + wait_for_all_requests end end diff --git a/spec/features/groups/import_export/import_file_spec.rb b/spec/features/groups/import_export/import_file_spec.rb index 08295a3392a..76d17c4409d 100644 --- a/spec/features/groups/import_export/import_file_spec.rb +++ b/spec/features/groups/import_export/import_file_spec.rb @@ -77,7 +77,7 @@ RSpec.describe 'Import/Export - Group Import', :js do click_link 'Import group' fill_in :import_group_path, with: 'test-group-import' - expect(page).to have_content 'Group path is already taken. Suggestions: test-group-import1' + expect(page).to have_content "Group path is already taken. We've suggested one that is available." end end end diff --git a/spec/features/groups/members/manage_members_spec.rb b/spec/features/groups/members/manage_members_spec.rb index ee18298e894..1d57d0a9103 100644 --- a/spec/features/groups/members/manage_members_spec.rb +++ b/spec/features/groups/members/manage_members_spec.rb @@ -93,13 +93,13 @@ RSpec.describe 'Groups > Members > Manage members' do visit group_group_members_path(group) click_on 'Invite members' - fill_in 'Select members or type email addresses', with: '@gitlab.com' + find('[data-testid="members-token-select-input"]').set('@gitlab.com') wait_for_requests expect(page).to have_content('No matches found') - fill_in 'Select members or type email addresses', with: 'undisclosed_email@gitlab.com' + find('[data-testid="members-token-select-input"]').set('undisclosed_email@gitlab.com') wait_for_requests expect(page).to have_content("Jane 'invisible' Doe") diff --git a/spec/features/groups/merge_requests_spec.rb b/spec/features/groups/merge_requests_spec.rb index f79c93157dc..077f680629f 100644 --- a/spec/features/groups/merge_requests_spec.rb +++ b/spec/features/groups/merge_requests_spec.rb @@ -75,4 +75,29 @@ RSpec.describe 'Group merge requests page' do end end end + + context 'empty state with no merge requests' do + before do + MergeRequest.delete_all + end + + it 'shows an empty state, button to create merge request and no filters bar', :aggregate_failures, :js do + visit path + + expect(page).to have_selector('.empty-state') + expect(page).to have_link('Select project to create merge request') + expect(page).not_to have_selector('.issues-filters') + end + + context 'with no open merge requests' do + it 'shows an empty state, button to create merge request and filters bar', :aggregate_failures, :js do + create(:merge_request, :closed, source_project: project, target_project: project) + visit path + + expect(page).to have_selector('.empty-state') + expect(page).to have_link('Select project to create merge request') + expect(page).to have_selector('.issues-filters') + end + end + end end diff --git a/spec/features/groups/navbar_spec.rb b/spec/features/groups/navbar_spec.rb index 70a19445c89..0a159056569 100644 --- a/spec/features/groups/navbar_spec.rb +++ b/spec/features/groups/navbar_spec.rb @@ -11,40 +11,6 @@ RSpec.describe 'Group navbar' do let_it_be(:user) { create(:user) } let_it_be(:group) { create(:group) } - let(:structure) do - [ - group_context_nav_item, - group_information_nav_item, - { - nav_item: _('Issues'), - nav_sub_items: issues_nav_items - }, - { - nav_item: _('Merge requests'), - nav_sub_items: [] - }, - (security_and_compliance_nav_item if Gitlab.ee?), - (push_rules_nav_item if Gitlab.ee?), - { - nav_item: _('Kubernetes'), - nav_sub_items: [] - }, - (analytics_nav_item if Gitlab.ee?), - members_nav_item - ].compact - end - - let(:members_nav_item) do - nil - end - - let(:group_context_nav_item) do - { - nav_item: "#{group.name[0, 1].upcase} #{group.name}", - nav_sub_items: [] - } - end - before do insert_package_nav(_('Kubernetes')) @@ -85,44 +51,4 @@ RSpec.describe 'Group navbar' do it_behaves_like 'verified navigation bar' end - - context 'when feature flag :sidebar_refactor is disabled' do - let(:group_context_nav_item) do - nil - end - - let(:group_information_nav_item) do - { - nav_item: _('Group overview'), - nav_sub_items: [ - _('Details'), - _('Activity') - ] - } - end - - let(:members_nav_item) do - { - nav_item: _('Members'), - nav_sub_items: [] - } - end - - let(:issues_nav_items) do - [ - _('List'), - _('Board'), - _('Labels'), - _('Milestones') - ] - end - - before do - stub_feature_flags(sidebar_refactor: false) - - visit group_path(group) - end - - it_behaves_like 'verified navigation bar' - end end diff --git a/spec/features/groups/packages_spec.rb b/spec/features/groups/packages_spec.rb index 60e0c08b3d4..752303fdd78 100644 --- a/spec/features/groups/packages_spec.rb +++ b/spec/features/groups/packages_spec.rb @@ -38,18 +38,22 @@ RSpec.describe 'Group Packages' do context 'when there are packages' do let_it_be(:second_project) { create(:project, name: 'second-project', group: group) } - let_it_be(:conan_package) { create(:conan_package, project: project, name: 'zzz', created_at: 1.day.ago, version: '1.0.0') } + let_it_be(:npm_package) { create(:npm_package, project: project, name: 'zzz', created_at: 1.day.ago, version: '1.0.0') } let_it_be(:maven_package) { create(:maven_package, project: second_project, name: 'aaa', created_at: 2.days.ago, version: '2.0.0') } - let_it_be(:packages) { [conan_package, maven_package] } + let_it_be(:packages) { [npm_package, maven_package] } it_behaves_like 'packages list', check_project_name: true - it_behaves_like 'package details link' + 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 'allows you to navigate to the project page' do - page.within('[data-qa-selector="packages-table"]') do - find('[data-qa-selector="package-path"]', text: project.name).click - end + find('[data-testid="root-link"]', text: project.name).click expect(page).to have_current_path(project_path(project)) expect(page).to have_content(project.name) @@ -58,15 +62,15 @@ RSpec.describe 'Group Packages' do context 'sorting' do it_behaves_like 'shared package sorting' do let_it_be(:package_one) { maven_package } - let_it_be(:package_two) { conan_package } + let_it_be(:package_two) { npm_package } end it_behaves_like 'correctly sorted packages list', 'Project' do - let(:packages) { [maven_package, conan_package] } + let(:packages) { [maven_package, npm_package] } end it_behaves_like 'correctly sorted packages list', 'Project', ascending: true do - let(:packages) { [conan_package, maven_package] } + let(:packages) { [npm_package, maven_package] } end end end diff --git a/spec/features/groups/settings/repository_spec.rb b/spec/features/groups/settings/repository_spec.rb index 3c1609a2605..7082b2b20bd 100644 --- a/spec/features/groups/settings/repository_spec.rb +++ b/spec/features/groups/settings/repository_spec.rb @@ -38,7 +38,7 @@ RSpec.describe 'Group Repository settings' do it 'renders the correct setting section content' do within("#js-default-branch-name") do expect(page).to have_content("Default initial branch name") - expect(page).to have_content("Set the default name of the initial branch when creating new repositories through the user interface.") + expect(page).to have_content("The default name for the initial branch of new repositories created in the group.") end end end diff --git a/spec/features/groups/settings/user_searches_in_settings_spec.rb b/spec/features/groups/settings/user_searches_in_settings_spec.rb index a01514714dd..c258dd41b03 100644 --- a/spec/features/groups/settings/user_searches_in_settings_spec.rb +++ b/spec/features/groups/settings/user_searches_in_settings_spec.rb @@ -24,7 +24,7 @@ RSpec.describe 'User searches group settings', :js do visit group_settings_integrations_path(group) end - it_behaves_like 'can highlight results', 'Project integration management' + it_behaves_like 'can highlight results', 'Group-level integration management' end context 'in Repository page' do @@ -48,6 +48,6 @@ RSpec.describe 'User searches group settings', :js do visit group_settings_packages_and_registries_path(group) end - it_behaves_like 'can highlight results', 'GitLab Packages' + it_behaves_like 'can highlight results', 'Use GitLab as a private registry' end end diff --git a/spec/features/groups/show_spec.rb b/spec/features/groups/show_spec.rb index 4bcba4c21ed..79226facad4 100644 --- a/spec/features/groups/show_spec.rb +++ b/spec/features/groups/show_spec.rb @@ -208,13 +208,13 @@ RSpec.describe 'Group show page' do expect(page).to have_selector('.content[itemscope][itemtype="https://schema.org/Organization"]') page.within('.group-home-panel') do - expect(page).to have_selector('img.avatar[itemprop="logo"]') + expect(page).to have_selector('[itemprop="logo"]') expect(page).to have_selector('[itemprop="name"]', text: group.name) expect(page).to have_selector('[itemprop="description"]', text: group.description) end page.within('[itemprop="owns"][itemtype="https://schema.org/SoftwareSourceCode"]') do - expect(page).to have_selector('img.avatar[itemprop="image"]') + expect(page).to have_selector('[itemprop="image"]') expect(page).to have_selector('[itemprop="name"]', text: project.name) expect(page).to have_selector('[itemprop="description"]', text: project.description) end @@ -224,12 +224,12 @@ RSpec.describe 'Group show page' do el.click wait_for_all_requests page.within(el) do - expect(page).to have_selector('img.avatar[itemprop="logo"]') + expect(page).to have_selector('[itemprop="logo"]') expect(page).to have_selector('[itemprop="name"]', text: subgroup.name) expect(page).to have_selector('[itemprop="description"]', text: subgroup.description) page.within('[itemprop="owns"][itemtype="https://schema.org/SoftwareSourceCode"]') do - expect(page).to have_selector('img.avatar[itemprop="image"]') + expect(page).to have_selector('[itemprop="image"]') expect(page).to have_selector('[itemprop="name"]', text: subproject.name) expect(page).to have_selector('[itemprop="description"]', text: subproject.description) end diff --git a/spec/features/groups/user_browse_projects_group_page_spec.rb b/spec/features/groups/user_browse_projects_group_page_spec.rb index 999449a94b0..73fde7cafe5 100644 --- a/spec/features/groups/user_browse_projects_group_page_spec.rb +++ b/spec/features/groups/user_browse_projects_group_page_spec.rb @@ -23,7 +23,7 @@ RSpec.describe 'User browse group projects page' do visit projects_group_path(group) expect(page).to have_link project.name - expect(page).to have_xpath("//span[@class='badge badge-warning']", text: 'archived') + expect(page).to have_css('span.badge.badge-warning', text: 'archived') end end end |