summaryrefslogtreecommitdiff
path: root/spec/features/groups
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/groups')
-rw-r--r--spec/features/groups/import_export/connect_instance_spec.rb11
-rw-r--r--spec/features/groups/import_export/import_file_spec.rb2
-rw-r--r--spec/features/groups/members/manage_members_spec.rb4
-rw-r--r--spec/features/groups/merge_requests_spec.rb25
-rw-r--r--spec/features/groups/navbar_spec.rb74
-rw-r--r--spec/features/groups/packages_spec.rb22
-rw-r--r--spec/features/groups/settings/repository_spec.rb2
-rw-r--r--spec/features/groups/settings/user_searches_in_settings_spec.rb4
-rw-r--r--spec/features/groups/show_spec.rb8
-rw-r--r--spec/features/groups/user_browse_projects_group_page_spec.rb2
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