Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-10-31 00:12:43 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-10-31 00:12:43 +0300
commit892e58c41fd07cc59b9e06b2a856ee61790d5bc4 (patch)
treea183f2d3ba41f7e84462f9fe6fb5adcb546b1343
parentc51425915fb1b2c367d6d828449b5cc7772ac104 (diff)
Add latest changes from gitlab-org/gitlab@master
-rw-r--r--.gitlab/CODEOWNERS6
-rw-r--r--app/assets/javascripts/repository/components/table/row.vue6
-rw-r--r--app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue2
-rw-r--r--app/assets/stylesheets/components/detail_page.scss1
-rw-r--r--app/assets/stylesheets/pages/commits.scss2
-rw-r--r--app/presenters/member_presenter.rb5
-rw-r--r--app/serializers/member_entity.rb2
-rw-r--r--config/webpack.config.js9
-rw-r--r--doc/development/development_processes.md10
-rw-r--r--lib/gitlab/database/migrations/milestone_mixin.rb4
-rw-r--r--lib/tasks/gitlab/tw/codeowners.rake2
-rw-r--r--package.json4
-rw-r--r--qa/gdk/Dockerfile.gdk2
-rw-r--r--qa/qa/resource/group_base.rb40
-rw-r--r--qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb4
-rw-r--r--spec/features/projects/branches/user_creates_branch_spec.rb2
-rw-r--r--spec/features/projects/members/user_requests_access_spec.rb11
-rw-r--r--spec/features/projects/milestones/user_interacts_with_labels_spec.rb6
-rw-r--r--spec/features/projects/pages/user_edits_settings_spec.rb10
-rw-r--r--spec/features/projects/tree/tree_show_spec.rb18
-rw-r--r--spec/features/users/overview_spec.rb35
-rw-r--r--spec/frontend/repository/components/table/__snapshots__/row_spec.js.snap18
-rw-r--r--spec/lib/gitlab/database/migrations/milestone_mixin_spec.rb6
-rw-r--r--yarn.lock16
24 files changed, 147 insertions, 74 deletions
diff --git a/.gitlab/CODEOWNERS b/.gitlab/CODEOWNERS
index e0dacb8cb90..fcae55a01c1 100644
--- a/.gitlab/CODEOWNERS
+++ b/.gitlab/CODEOWNERS
@@ -467,6 +467,7 @@ lib/gitlab/checks/**
/doc/administration/consul.md @axil
/doc/administration/credentials_inventory.md @jglassman1
/doc/administration/custom_project_templates.md @msedlakjakubowski
+/doc/administration/dedicated/ @lyspin
/doc/administration/diff_limits.md @msedlakjakubowski
/doc/administration/docs_self_host.md @axil
/doc/administration/encrypted_configuration.md @axil
@@ -790,7 +791,6 @@ lib/gitlab/checks/**
/doc/development/fe_guide/merge_request_widget_extensions.md @aqualls
/doc/development/fe_guide/onboarding_course/ @sselhorn
/doc/development/fe_guide/source_editor.md @msedlakjakubowski
-/doc/development/fe_guide/style/ @aqualls
/doc/development/fe_guide/view_component.md @sselhorn
/doc/development/feature_categorization/ @sselhorn
/doc/development/fips_compliance.md @msedlakjakubowski
@@ -874,6 +874,7 @@ lib/gitlab/checks/**
/doc/security/email_verification.md @phillipwells
/doc/security/identity_verification.md @phillipwells
/doc/subscriptions/ @fneill
+/doc/subscriptions/gitlab_dedicated/ @lyspin
/doc/topics/autodevops/ @phillipwells
/doc/topics/data_seeder.md @sselhorn
/doc/topics/git/ @msedlakjakubowski
@@ -892,6 +893,7 @@ lib/gitlab/checks/**
/doc/tutorials/install_gitlab_single_node/ @axil
/doc/tutorials/issue_triage/ @msedlakjakubowski
/doc/tutorials/move_personal_project_to_group/ @lciutacu
+/doc/tutorials/product_analytics_onboarding_website_project/ @lciutacu
/doc/tutorials/protected_workflow/ @aqualls
/doc/tutorials/scan_execution_policy/ @rdickenson
/doc/tutorials/scan_result_policy/ @rdickenson
@@ -912,7 +914,6 @@ lib/gitlab/checks/**
/doc/user/discussions/ @aqualls
/doc/user/emoji_reactions.md @msedlakjakubowski
/doc/user/enterprise_user/ @jglassman1
-/doc/user/feature_flags.md @sselhorn
/doc/user/gitlab_duo_chat.md @sselhorn
/doc/user/group/ @lciutacu
/doc/user/group/clusters/ @phillipwells
@@ -992,6 +993,7 @@ lib/gitlab/checks/**
/doc/user/reserved_names.md @lciutacu
/doc/user/search/ @ashrafkhamis
/doc/user/search/command_palette.md @sselhorn
+/doc/user/shortcuts.md @sselhorn
/doc/user/snippets.md @msedlakjakubowski
/doc/user/ssh.md @jglassman1
/doc/user/storage_management_automation.md @fneill
diff --git a/app/assets/javascripts/repository/components/table/row.vue b/app/assets/javascripts/repository/components/table/row.vue
index 526757e6147..6a81f11eb51 100644
--- a/app/assets/javascripts/repository/components/table/row.vue
+++ b/app/assets/javascripts/repository/components/table/row.vue
@@ -248,19 +248,19 @@ export default {
class="ml-1"
/>
</td>
- <td class="d-none d-sm-table-cell tree-commit cursor-default gl-text-secondary">
+ <td class="d-none d-sm-table-cell tree-commit cursor-default">
<gl-link
v-if="commitData"
v-safe-html:[$options.safeHtmlConfig]="commitData.titleHtml"
:href="commitData.commitPath"
:title="commitData.message"
- class="str-truncated-100 tree-commit-link gl-text-secondary"
+ class="str-truncated-100 tree-commit-link gl-text-gray-600"
/>
<gl-intersection-observer @appear="rowAppeared" @disappear="rowDisappeared">
<gl-skeleton-loader v-if="showSkeletonLoader" :lines="1" />
</gl-intersection-observer>
</td>
- <td class="tree-time-ago text-right cursor-default gl-text-secondary">
+ <td class="tree-time-ago text-right cursor-default gl-text-gray-600">
<gl-intersection-observer @appear="rowAppeared" @disappear="rowDisappeared">
<timeago-tooltip v-if="commitData" :time="commitData.committedDate" />
</gl-intersection-observer>
diff --git a/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue b/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue
index a9b5e3a66a8..62a2b44e660 100644
--- a/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue
+++ b/app/assets/javascripts/vue_shared/issuable/show/components/issuable_header.vue
@@ -221,7 +221,7 @@ export default {
@click="handleRightSidebarToggleClick"
/>
</div>
- <div class="detail-page-header-actions gl-display-flex">
+ <div class="detail-page-header-actions gl-align-self-center gl-display-flex">
<slot name="header-actions"></slot>
</div>
</div>
diff --git a/app/assets/stylesheets/components/detail_page.scss b/app/assets/stylesheets/components/detail_page.scss
index de8142924f9..f4b75104fb2 100644
--- a/app/assets/stylesheets/components/detail_page.scss
+++ b/app/assets/stylesheets/components/detail_page.scss
@@ -36,7 +36,6 @@
}
.detail-page-header-actions {
- align-self: center;
flex: 0 0 auto;
&:not(.is-merge-request) {
diff --git a/app/assets/stylesheets/pages/commits.scss b/app/assets/stylesheets/pages/commits.scss
index 3e9c59464f8..72ea586979f 100644
--- a/app/assets/stylesheets/pages/commits.scss
+++ b/app/assets/stylesheets/pages/commits.scss
@@ -131,7 +131,7 @@
}
.committer {
- color: $gl-text-color-tertiary;
+ color: $gl-text-color-secondary;
.commit-author-link {
color: $gl-text-color;
diff --git a/app/presenters/member_presenter.rb b/app/presenters/member_presenter.rb
index 73aae2d85ad..7acaa704368 100644
--- a/app/presenters/member_presenter.rb
+++ b/app/presenters/member_presenter.rb
@@ -41,6 +41,11 @@ class MemberPresenter < Gitlab::View::Presenter::Delegated
false
end
+ # This functionality is only available in EE.
+ def custom_permissions
+ []
+ end
+
def last_owner?
raise NotImplementedError
end
diff --git a/app/serializers/member_entity.rb b/app/serializers/member_entity.rb
index e481abf22e3..a710df9ce5b 100644
--- a/app/serializers/member_entity.rb
+++ b/app/serializers/member_entity.rb
@@ -35,6 +35,8 @@ class MemberEntity < Grape::Entity
expose :member_role_id
end
+ expose :custom_permissions
+
expose :source do |member|
GroupEntity.represent(member.source, only: [:id, :full_name, :web_url])
end
diff --git a/config/webpack.config.js b/config/webpack.config.js
index c983ad5e77a..2977b1ce712 100644
--- a/config/webpack.config.js
+++ b/config/webpack.config.js
@@ -383,6 +383,15 @@ module.exports = {
loader: 'babel-loader',
},
{
+ test: /swagger-ui-dist\/.*\.js?$/,
+ include: /node_modules/,
+ loader: 'babel-loader',
+ options: {
+ plugins: ['@babel/plugin-proposal-logical-assignment-operators'],
+ ...defaultJsOptions,
+ },
+ },
+ {
test: /\.(js|cjs)$/,
exclude: shouldExcludeFromCompliling,
use: [
diff --git a/doc/development/development_processes.md b/doc/development/development_processes.md
index 1cdf667a35f..5efcdd90df4 100644
--- a/doc/development/development_processes.md
+++ b/doc/development/development_processes.md
@@ -123,3 +123,13 @@ the [reviewer values](https://about.gitlab.com/handbook/engineering/workflow/rev
### Shell Scripting guides
- [Shell scripting standards and style guidelines](shell_scripting_guide/index.md)
+
+## Clear written communication
+
+While writing any comment in an issue or merge request or any other mode of communication,
+follow [IETF standard](https://www.ietf.org/rfc/rfc2119.txt) while using terms like
+"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT","RECOMMENDED", "MAY",
+and "OPTIONAL".
+
+This ensures that different team members from different cultures have a clear understanding of
+the terms being used.
diff --git a/lib/gitlab/database/migrations/milestone_mixin.rb b/lib/gitlab/database/migrations/milestone_mixin.rb
index 17b7c0ccfc2..7d78f74d237 100644
--- a/lib/gitlab/database/migrations/milestone_mixin.rb
+++ b/lib/gitlab/database/migrations/milestone_mixin.rb
@@ -19,8 +19,8 @@ module Gitlab
end
end
- def initialize(name = class_name, version = nil, _type = nil)
- raise MilestoneNotSetError, "Milestone is not set for #{self.class.name}" if milestone.nil?
+ def initialize(name = self.class.name, version = nil, _type = nil)
+ raise MilestoneNotSetError, "Milestone is not set for #{name}" if milestone.nil?
super(name, version)
end
diff --git a/lib/tasks/gitlab/tw/codeowners.rake b/lib/tasks/gitlab/tw/codeowners.rake
index a4c1f18970d..36ed611a0c2 100644
--- a/lib/tasks/gitlab/tw/codeowners.rake
+++ b/lib/tasks/gitlab/tw/codeowners.rake
@@ -52,7 +52,7 @@ namespace :tw do
CodeOwnerRule.new('Fuzz Testing', '@rdickenson'),
CodeOwnerRule.new('Geo', '@axil'),
CodeOwnerRule.new('Gitaly', '@eread'),
- # CodeOwnerRule.new('GitLab Dedicated', ''),
+ CodeOwnerRule.new('GitLab Dedicated', '@lyspin'),
CodeOwnerRule.new('Global Search', '@ashrafkhamis'),
CodeOwnerRule.new('IDE', '@ashrafkhamis'),
CodeOwnerRule.new('Import and Integrate', '@eread @ashrafkhamis'),
diff --git a/package.json b/package.json
index 2d6c590930d..df5c27b8e9d 100644
--- a/package.json
+++ b/package.json
@@ -145,7 +145,7 @@
"gettext-parser": "^6.0.0",
"graphql": "^15.7.2",
"graphql-tag": "^2.11.0",
- "gridstack": "^9.4.0",
+ "gridstack": "^9.5.0",
"highlight.js": "^11.8.0",
"immer": "^9.0.15",
"ipaddr.js": "^1.9.1",
@@ -195,7 +195,7 @@
"sortablejs": "^1.10.2",
"string-hash": "1.1.3",
"style-loader": "^2.0.0",
- "swagger-ui-dist": "4.12.0",
+ "swagger-ui-dist": "5.9.1",
"thread-loader": "^3.0.4",
"three": "^0.143.0",
"timeago.js": "^4.0.2",
diff --git a/qa/gdk/Dockerfile.gdk b/qa/gdk/Dockerfile.gdk
index 18ff8dfd0c0..914a739c99f 100644
--- a/qa/gdk/Dockerfile.gdk
+++ b/qa/gdk/Dockerfile.gdk
@@ -5,7 +5,7 @@ ENV GITLAB_LICENSE_MODE=test \
# Clone GDK at specific sha and bootstrap packages
#
-ARG GDK_SHA=198715217bee1db3cc60e0ecb47b48b79fb7005c
+ARG GDK_SHA=83bbc674a24dfb6a31c858f167ae80e670856328
RUN set -eux; \
git clone --depth 1 https://gitlab.com/gitlab-org/gitlab-development-kit.git && cd gitlab-development-kit; \
git fetch --depth 1 origin ${GDK_SHA} && git -c advice.detachedHead=false checkout ${GDK_SHA}; \
diff --git a/qa/qa/resource/group_base.rb b/qa/qa/resource/group_base.rb
index 263c2ca2aeb..0972bc32966 100644
--- a/qa/qa/resource/group_base.rb
+++ b/qa/qa/resource/group_base.rb
@@ -22,8 +22,14 @@ module QA
# Get group projects
#
# @return [Array<QA::Resource::Project>]
- def projects
- parse_body(api_get_from("#{api_get_path}/projects")).map do |project|
+ def projects(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/projects", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/projects"))
+ end
+
+ response.map do |project|
Project.init do |resource|
resource.add_name_uuid = false
resource.api_client = api_client
@@ -39,8 +45,14 @@ module QA
# Get group labels
#
# @return [Array<QA::Resource::GroupLabel>]
- def labels
- parse_body(api_get_from("#{api_get_path}/labels")).map do |label|
+ def labels(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/labels", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/labels"))
+ end
+
+ response.map do |label|
GroupLabel.init do |resource|
resource.api_client = api_client
resource.group = self
@@ -55,8 +67,14 @@ module QA
# Get group milestones
#
# @return [Array<QA::Resource::GroupMilestone>]
- def milestones
- parse_body(api_get_from("#{api_get_path}/milestones")).map do |milestone|
+ def milestones(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/milestones", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/milestones"))
+ end
+
+ response.map do |milestone|
GroupMilestone.init do |resource|
resource.api_client = api_client
resource.group = self
@@ -71,8 +89,14 @@ module QA
# Get group badges
#
# @return [Array<QA::Resource::GroupBadge>]
- def badges
- parse_body(api_get_from("#{api_get_path}/badges")).map do |badge|
+ def badges(auto_paginate: false)
+ response = if auto_paginate
+ auto_paginated_response(request_url("#{api_get_path}/badges", per_page: '100'))
+ else
+ parse_body(api_get_from("#{api_get_path}/badges"))
+ end
+
+ response.map do |badge|
GroupBadge.init do |resource|
resource.api_client = api_client
resource.group = self
diff --git a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb
index 2fe3857cbe6..2b1a81f0afb 100644
--- a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb
+++ b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb
@@ -50,7 +50,7 @@ module QA
# Source objects
#
- let(:source_project) { source_group.projects.find { |project| project.name == gitlab_source_project }.reload! }
+ let(:source_project) { source_group.projects(auto_paginate: true).find { |project| project.name == gitlab_source_project }.reload! }
let(:source_branches) { source_project.repository_branches(auto_paginate: true).map { |b| b[:name] } }
let(:source_commits) { source_project.commits(auto_paginate: true).map { |c| c[:id] } }
let(:source_labels) { source_project.labels(auto_paginate: true).map { |l| l.except(:id) } }
@@ -72,7 +72,7 @@ module QA
# Imported objects
#
- let(:imported_project) { imported_group.projects.find { |project| project.name == gitlab_source_project }.reload! }
+ let(:imported_project) { imported_group.projects(auto_paginate: true).find { |project| project.name == gitlab_source_project }.reload! }
let(:branches) { imported_project.repository_branches(auto_paginate: true).map { |b| b[:name] } }
let(:commits) { imported_project.commits(auto_paginate: true).map { |c| c[:id] } }
let(:labels) { imported_project.labels(auto_paginate: true).map { |l| l.except(:id) } }
diff --git a/spec/features/projects/branches/user_creates_branch_spec.rb b/spec/features/projects/branches/user_creates_branch_spec.rb
index eafb75d75ac..8d636dacb75 100644
--- a/spec/features/projects/branches/user_creates_branch_spec.rb
+++ b/spec/features/projects/branches/user_creates_branch_spec.rb
@@ -6,7 +6,7 @@ RSpec.describe 'User creates branch', :js, feature_category: :groups_and_project
include Features::BranchesHelpers
let_it_be(:group) { create(:group, :public) }
- let_it_be(:user) { create(:user, :no_super_sidebar) }
+ let_it_be(:user) { create(:user) }
shared_examples 'creates new branch' do
specify do
diff --git a/spec/features/projects/members/user_requests_access_spec.rb b/spec/features/projects/members/user_requests_access_spec.rb
index d1e58ba91f0..e7f99a4048c 100644
--- a/spec/features/projects/members/user_requests_access_spec.rb
+++ b/spec/features/projects/members/user_requests_access_spec.rb
@@ -5,8 +5,8 @@ require 'spec_helper'
RSpec.describe 'Projects > Members > User requests access', :js, feature_category: :groups_and_projects do
include Spec::Support::Helpers::ModalHelpers
- let_it_be(:user) { create(:user, :no_super_sidebar) }
- let_it_be(:maintainer) { create(:user, :no_super_sidebar) }
+ let_it_be(:user) { create(:user) }
+ let_it_be(:maintainer) { create(:user) }
let_it_be(:project) { create(:project, :public, :repository) }
let(:owner) { project.first_owner }
@@ -54,10 +54,9 @@ RSpec.describe 'Projects > Members > User requests access', :js, feature_categor
expect(project.requesters.exists?(user_id: user)).to be_truthy
- click_link 'Project information'
-
- page.within('.nav-sidebar') do
- click_link('Members')
+ within_testid('super-sidebar') do
+ click_button 'Manage'
+ click_link 'Members'
end
page.within('.content') do
diff --git a/spec/features/projects/milestones/user_interacts_with_labels_spec.rb b/spec/features/projects/milestones/user_interacts_with_labels_spec.rb
index 3742c9f19d8..9c3eaff1545 100644
--- a/spec/features/projects/milestones/user_interacts_with_labels_spec.rb
+++ b/spec/features/projects/milestones/user_interacts_with_labels_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe 'User interacts with labels', feature_category: :team_planning do
- let(:user) { create(:user, :no_super_sidebar) }
+ let(:user) { create(:user) }
let(:project) { create(:project, namespace: user.namespace) }
let(:milestone) { create(:milestone, project: project, title: 'v2.2', description: '# Description header') }
let(:issue1) { create(:issue, project: project, title: 'Bugfix1', milestone: milestone) }
@@ -25,9 +25,7 @@ RSpec.describe 'User interacts with labels', feature_category: :team_planning do
it 'shows the list of labels', :js do
click_link('v2.2')
- page.within('.nav-sidebar') do
- page.find(:xpath, "//a[@href='#tab-labels']").click
- end
+ page.find(:xpath, "//a[@href='#tab-labels']").click
expect(page).to have_selector('ul.manage-labels-list')
diff --git a/spec/features/projects/pages/user_edits_settings_spec.rb b/spec/features/projects/pages/user_edits_settings_spec.rb
index 8350214bf99..255ea43758f 100644
--- a/spec/features/projects/pages/user_edits_settings_spec.rb
+++ b/spec/features/projects/pages/user_edits_settings_spec.rb
@@ -5,7 +5,7 @@ RSpec.describe 'Pages edits pages settings', :js, feature_category: :pages do
include Spec::Support::Helpers::ModalHelpers
let_it_be_with_reload(:project) { create(:project, :pages_published, pages_https_only: false) }
- let_it_be(:user) { create(:user, :no_super_sidebar) }
+ let_it_be(:user) { create(:user) }
before do
allow(Gitlab.config.pages).to receive(:enabled).and_return(true)
@@ -85,7 +85,7 @@ RSpec.describe 'Pages edits pages settings', :js, feature_category: :pages do
it 'renders "Pages" tab' do
visit project_pages_path(project)
- page.within '.nav-sidebar' do
+ within_testid 'super-sidebar' do
expect(page).to have_link('Pages')
end
end
@@ -96,7 +96,8 @@ RSpec.describe 'Pages edits pages settings', :js, feature_category: :pages do
it 'renders "Pages" tab' do
visit project_environments_path(project)
- page.within '.nav-sidebar' do
+ within_testid 'super-sidebar' do
+ click_button 'Deploy'
expect(page).to have_link('Pages')
end
end
@@ -110,7 +111,8 @@ RSpec.describe 'Pages edits pages settings', :js, feature_category: :pages do
it 'does not render "Pages" tab' do
visit project_environments_path(project)
- page.within '.nav-sidebar' do
+ within_testid 'super-sidebar' do
+ click_button 'Deploy'
expect(page).not_to have_link('Pages')
end
end
diff --git a/spec/features/projects/tree/tree_show_spec.rb b/spec/features/projects/tree/tree_show_spec.rb
index 3becc48d450..4a913d82a78 100644
--- a/spec/features/projects/tree/tree_show_spec.rb
+++ b/spec/features/projects/tree/tree_show_spec.rb
@@ -21,6 +21,15 @@ RSpec.describe 'Projects tree', :js, feature_category: :web_ide do
sign_in(user)
end
+ it 'passes axe automated accessibility testing' do
+ visit project_tree_path(project, test_sha)
+ wait_for_requests
+
+ expect(page).to be_axe_clean.within('.project-last-commit')
+ expect(page).to be_axe_clean.within('.nav-block')
+ expect(page).to be_axe_clean.within('.tree-content-holder').skipping :'link-in-text-block'
+ end
+
it 'renders tree table without errors' do
visit project_tree_path(project, test_sha)
wait_for_requests
@@ -111,9 +120,16 @@ RSpec.describe 'Projects tree', :js, feature_category: :web_ide do
end
context 'LFS' do
- it 'renders LFS badge on blob item' do
+ before do
visit project_tree_path(project, File.join('master', 'files/lfs'))
+ wait_for_requests
+ end
+ it 'passes axe automated accessibility testing' do
+ expect(page).to be_axe_clean.within('.tree-content-holder').skipping :'link-in-text-block'
+ end
+
+ it 'renders LFS badge on blob item' do
expect(page).to have_selector('[data-testid="label-lfs"]', text: 'LFS')
end
end
diff --git a/spec/features/users/overview_spec.rb b/spec/features/users/overview_spec.rb
index d1ff60b6069..906ad51d841 100644
--- a/spec/features/users/overview_spec.rb
+++ b/spec/features/users/overview_spec.rb
@@ -3,7 +3,7 @@
require 'spec_helper'
RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_profile do
- let(:user) { create(:user, :no_super_sidebar) }
+ let(:user) { create(:user) }
let(:contributed_project) { create(:project, :public, :repository) }
def push_code_contribution
@@ -27,8 +27,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
shared_context 'visit overview tab' do
before do
visit user.username
- page.find('.js-overview-tab a').click
- wait_for_requests
+ click_nav user.name
end
end
@@ -158,8 +157,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
describe 'user has no followers' do
before do
visit user.username
- page.find('.js-followers-tab a').click
- wait_for_requests
+ click_nav 'Followers'
end
it 'shows an empty followers list with an info message' do
@@ -177,8 +175,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
before do
follower.follow(user)
visit user.username
- page.find('.js-followers-tab a').click
- wait_for_requests
+ click_nav 'Followers'
end
it 'shows followers' do
@@ -199,8 +196,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
end
visit user.username
- page.find('.js-followers-tab a').click
- wait_for_requests
+ click_nav 'Followers'
end
it 'shows paginated followers' do
page.within('#followers') do
@@ -221,8 +217,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
describe 'user is not following others' do
before do
visit user.username
- page.find('.js-following-tab a').click
- wait_for_requests
+ click_nav 'Following'
end
it 'shows an empty following list with an info message' do
@@ -240,8 +235,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
before do
user.follow(followee)
visit user.username
- page.find('.js-following-tab a').click
- wait_for_requests
+ click_nav 'Following'
end
it 'shows following user' do
@@ -262,8 +256,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
end
visit user.username
- page.find('.js-following-tab a').click
- wait_for_requests
+ click_nav 'Following'
end
it 'shows paginated following' do
page.within('#following') do
@@ -286,8 +279,7 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
shared_context "visit bot's overview tab" do
before do
visit bot_user.username
- page.find('.js-overview-tab a').click
- wait_for_requests
+ click_nav bot_user.name
end
end
@@ -327,4 +319,13 @@ RSpec.describe 'Overview tab on a user profile', :js, feature_category: :user_pr
end
end
end
+
+ private
+
+ def click_nav(title)
+ within_testid('super-sidebar') do
+ click_link title
+ end
+ wait_for_requests
+ end
end
diff --git a/spec/frontend/repository/components/table/__snapshots__/row_spec.js.snap b/spec/frontend/repository/components/table/__snapshots__/row_spec.js.snap
index af7eca6a52d..e14f41e2ed2 100644
--- a/spec/frontend/repository/components/table/__snapshots__/row_spec.js.snap
+++ b/spec/frontend/repository/components/table/__snapshots__/row_spec.js.snap
@@ -34,15 +34,15 @@ exports[`Repository table row component renders a symlink table row 1`] = `
/>
</td>
<td
- class="cursor-default d-none d-sm-table-cell gl-text-secondary tree-commit"
+ class="cursor-default d-none d-sm-table-cell tree-commit"
>
<gl-link-stub
- class="gl-text-secondary str-truncated-100 tree-commit-link"
+ class="gl-text-gray-600 str-truncated-100 tree-commit-link"
/>
<gl-intersection-observer-stub />
</td>
<td
- class="cursor-default gl-text-secondary text-right tree-time-ago"
+ class="cursor-default gl-text-gray-600 text-right tree-time-ago"
>
<gl-intersection-observer-stub>
<timeago-tooltip-stub
@@ -90,15 +90,15 @@ exports[`Repository table row component renders table row 1`] = `
/>
</td>
<td
- class="cursor-default d-none d-sm-table-cell gl-text-secondary tree-commit"
+ class="cursor-default d-none d-sm-table-cell tree-commit"
>
<gl-link-stub
- class="gl-text-secondary str-truncated-100 tree-commit-link"
+ class="gl-text-gray-600 str-truncated-100 tree-commit-link"
/>
<gl-intersection-observer-stub />
</td>
<td
- class="cursor-default gl-text-secondary text-right tree-time-ago"
+ class="cursor-default gl-text-gray-600 text-right tree-time-ago"
>
<gl-intersection-observer-stub>
<timeago-tooltip-stub
@@ -146,15 +146,15 @@ exports[`Repository table row component renders table row for path with special
/>
</td>
<td
- class="cursor-default d-none d-sm-table-cell gl-text-secondary tree-commit"
+ class="cursor-default d-none d-sm-table-cell tree-commit"
>
<gl-link-stub
- class="gl-text-secondary str-truncated-100 tree-commit-link"
+ class="gl-text-gray-600 str-truncated-100 tree-commit-link"
/>
<gl-intersection-observer-stub />
</td>
<td
- class="cursor-default gl-text-secondary text-right tree-time-ago"
+ class="cursor-default gl-text-gray-600 text-right tree-time-ago"
>
<gl-intersection-observer-stub>
<timeago-tooltip-stub
diff --git a/spec/lib/gitlab/database/migrations/milestone_mixin_spec.rb b/spec/lib/gitlab/database/migrations/milestone_mixin_spec.rb
index 87a04329f79..1ed5c846550 100644
--- a/spec/lib/gitlab/database/migrations/milestone_mixin_spec.rb
+++ b/spec/lib/gitlab/database/migrations/milestone_mixin_spec.rb
@@ -41,5 +41,11 @@ RSpec.describe Gitlab::Database::Migrations::MilestoneMixin, feature_category: :
expect { migration_mixin_version.new(4, 4, :regular) }.not_to raise_error
end
end
+
+ context 'when initialize arguments are not provided' do
+ it "does not raise an error" do
+ expect { migration_mixin_version.new }.not_to raise_error
+ end
+ end
end
end
diff --git a/yarn.lock b/yarn.lock
index 2177034ebab..a5067af2d15 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7184,10 +7184,10 @@ graphql@^15.7.2:
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.7.2.tgz#85ab0eeb83722977151b3feb4d631b5f2ab287ef"
integrity sha512-AnnKk7hFQFmU/2I9YSQf3xw44ctnSFCfp3zE0N6W174gqe9fWG/2rKaKxROK7CcI3XtERpjEKFqts8o319Kf7A==
-gridstack@^9.4.0:
- version "9.4.0"
- resolved "https://registry.yarnpkg.com/gridstack/-/gridstack-9.4.0.tgz#806b5f8dc2d52ac6aade5d5fc799979a167f6977"
- integrity sha512-4dcXGT5IzWfLxJIj4oGZPohgYfHrbdNHenRwwApzialkG2bVd9J9NmcdZsRFX6Q4cANqR0M56yF2Km2FAQkVCw==
+gridstack@^9.5.0:
+ version "9.5.0"
+ resolved "https://registry.yarnpkg.com/gridstack/-/gridstack-9.5.0.tgz#7a48fbddca6e13cb55d921bdbe6ab22f5a12e470"
+ integrity sha512-mGYID0mdmtPzv/Qt9lgc3TfQjFgPcxEkGZ/Z6ESCCAplli5UUJLbOsEtaM5uGUGExOC8zo7FoHNL01Xze5AF9g==
gzip-size@^6.0.0:
version "6.0.0"
@@ -12603,10 +12603,10 @@ swagger-cli@^4.0.4:
dependencies:
"@apidevtools/swagger-cli" "4.0.4"
-swagger-ui-dist@4.12.0:
- version "4.12.0"
- resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-4.12.0.tgz#986d90f05e81fb9db3ca40372278a5d8ce71db3a"
- integrity sha512-B0Iy2ueXtbByE6OOyHTi3lFQkpPi/L7kFOKFeKTr44za7dJIELa9kzaca6GkndCgpK1QTjArnoXG+aUy0XQp1w==
+swagger-ui-dist@5.9.1:
+ version "5.9.1"
+ resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-5.9.1.tgz#d0bcd614e3752da02df141846348f84468ae815e"
+ integrity sha512-5zAx+hUwJb9T3EAntc7TqYkV716CMqG6sZpNlAAMOMWkNXRYxGkN8ADIvD55dQZ10LxN90ZM/TQmN7y1gpICnw==
symbol-observable@^1.0.4:
version "1.2.0"