Skip to content
代码片段 群组 项目
未验证 提交 f05d8220 编辑于 作者: Jacques Erasmus's avatar Jacques Erasmus 提交者: GitLab
浏览文件

Merge branch 'update-copy-button-feature-flag' into 'master'

Update feature flag for moving copy path button

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/181286



Merged-by: default avatarJacques Erasmus <jerasmus@gitlab.com>
Approved-by: default avatarNataliia Radina <nradina@gitlab.com>
Approved-by: default avatarJacques Erasmus <jerasmus@gitlab.com>
Reviewed-by: default avatarJacques Erasmus <jerasmus@gitlab.com>
Co-authored-by: default avatarChaoyue Zhao <czhao@gitlab.com>
No related branches found
No related tags found
无相关合并请求
...@@ -74,7 +74,7 @@ export default { ...@@ -74,7 +74,7 @@ export default {
</template> </template>
<clipboard-button <clipboard-button
v-if="!glFeatures.blobOverflowMenu" v-if="!glFeatures.directoryCodeDropdownUpdates"
:text="blob.path" :text="blob.path"
:gfm="gfmCopyText" :gfm="gfmCopyText"
:title="__('Copy file path')" :title="__('Copy file path')"
......
...@@ -325,7 +325,7 @@ export default { ...@@ -325,7 +325,7 @@ export default {
<template> <template>
<nav <nav
v-if="!glFeatures.blobOverflowMenu" v-if="!glFeatures.directoryCodeDropdownUpdates"
:aria-label="__('Files breadcrumb')" :aria-label="__('Files breadcrumb')"
:data-current-path="currentDirectoryPath" :data-current-path="currentDirectoryPath"
class="js-repo-breadcrumbs gl-flex" class="js-repo-breadcrumbs gl-flex"
...@@ -368,7 +368,7 @@ export default { ...@@ -368,7 +368,7 @@ export default {
:path="newDirectoryPath" :path="newDirectoryPath"
/> />
</nav> </nav>
<div v-else class="gl-flex gl-w-full gl-justify-between sm:gl-w-auto"> <div v-else class="repo-breadcrumb gl-flex gl-w-full gl-justify-between sm:gl-w-auto">
<gl-breadcrumb <gl-breadcrumb
:items="crumbs" :items="crumbs"
:data-current-path="currentDirectoryPath" :data-current-path="currentDirectoryPath"
......
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
let_it_be(:project) { create(:project, :repository, namespace: project_maintainer.namespace) } let_it_be(:project) { create(:project, :repository, namespace: project_maintainer.namespace) }
before do before do
stub_feature_flags(blob_overflow_menu: false)
project.repository.delete_file(project_maintainer, 'LICENSE', project.repository.delete_file(project_maintainer, 'LICENSE',
message: 'Remove LICENSE', branch_name: 'master') message: 'Remove LICENSE', branch_name: 'master')
sign_in(project_maintainer) sign_in(project_maintainer)
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
let(:user) { create(:user) } let(:user) { create(:user) }
before do before do
stub_feature_flags(blob_overflow_menu: false)
project.add_developer(user) project.add_developer(user)
sign_in(user) sign_in(user)
visit project_tree_path(project, 'master') visit project_tree_path(project, 'master')
......
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
let(:user) { create(:user) } let(:user) { create(:user) }
before do before do
stub_feature_flags(blob_overflow_menu: false)
project.add_maintainer(user) project.add_maintainer(user)
sign_in(user) sign_in(user)
end end
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') } let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') }
before do before do
stub_feature_flags(blob_overflow_menu: false)
project.add_maintainer(user) project.add_maintainer(user)
sign_in(user) sign_in(user)
end end
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') } let(:project2) { create(:project, :repository, name: 'Another Project', path: 'another-project') }
before do before do
stub_feature_flags(blob_overflow_menu: false)
project.add_maintainer(user) project.add_maintainer(user)
sign_in(user) sign_in(user)
end end
......
...@@ -42,7 +42,10 @@ describe('Blob Header Filepath', () => { ...@@ -42,7 +42,10 @@ describe('Blob Header Filepath', () => {
${'renders button that copies path of the blob'} | ${false} ${'renders button that copies path of the blob'} | ${false}
${'does not render button'} | ${true} ${'does not render button'} | ${true}
`('when flag is $flagValue, $description', ({ flagValue }) => { `('when flag is $flagValue, $description', ({ flagValue }) => {
createComponent({}, { provide: { glFeatures: { blobOverflowMenu: flagValue } } }); createComponent(
{},
{ provide: { glFeatures: { directoryCodeDropdownUpdates: flagValue } } },
);
const btn = wrapper.findComponent(ClipboardButton); const btn = wrapper.findComponent(ClipboardButton);
expect(btn.exists()).toBe(!flagValue); expect(btn.exists()).toBe(!flagValue);
if (!flagValue) { if (!flagValue) {
......
...@@ -50,7 +50,7 @@ describe('Repository breadcrumbs component', () => { ...@@ -50,7 +50,7 @@ describe('Repository breadcrumbs component', () => {
currentPath, currentPath,
extraProps = {}, extraProps = {},
mockRoute = {}, mockRoute = {},
glFeatures = { blobOverflowMenu: false }, glFeatures = { directoryCodeDropdownUpdates: false },
} = {}) => { } = {}) => {
const apolloProvider = createApolloProvider([[permissionsQuery, permissionsQuerySpy]]); const apolloProvider = createApolloProvider([[permissionsQuery, permissionsQuerySpy]]);
...@@ -100,13 +100,13 @@ describe('Repository breadcrumbs component', () => { ...@@ -100,13 +100,13 @@ describe('Repository breadcrumbs component', () => {
describe('permissions queries', () => { describe('permissions queries', () => {
it.each` it.each`
featureFlag | description featureFlag | description
${true} | ${'when blobOverflowMenu feature flag is enabled'} ${true} | ${'when directoryCodeDropdownUpdates feature flag is enabled'}
${false} | ${'when blobOverflowMenu feature flag is disabled'} ${false} | ${'when directoryCodeDropdownUpdates feature flag is disabled'}
`('queries for permissions $description', async ({ featureFlag }) => { `('queries for permissions $description', async ({ featureFlag }) => {
factory({ factory({
currentPath: '/', currentPath: '/',
glFeatures: { glFeatures: {
blobOverflowMenu: featureFlag, directoryCodeDropdownUpdates: featureFlag,
}, },
}); });
...@@ -120,8 +120,8 @@ describe('Repository breadcrumbs component', () => { ...@@ -120,8 +120,8 @@ describe('Repository breadcrumbs component', () => {
it.each` it.each`
featureFlag | description featureFlag | description
${true} | ${'when blobOverflowMenu feature flag is enabled'} ${true} | ${'when directoryCodeDropdownUpdates feature flag is enabled'}
${false} | ${'when blobOverflowMenu feature flag is disabled'} ${false} | ${'when directoryCodeDropdownUpdates feature flag is disabled'}
`('queries for permissions $description', async ({ featureFlag }) => { `('queries for permissions $description', async ({ featureFlag }) => {
const mockError = new Error('timeout of 0ms exceeded'); const mockError = new Error('timeout of 0ms exceeded');
permissionsQuerySpy = jest.fn().mockRejectedValue(mockError); permissionsQuerySpy = jest.fn().mockRejectedValue(mockError);
...@@ -129,7 +129,7 @@ describe('Repository breadcrumbs component', () => { ...@@ -129,7 +129,7 @@ describe('Repository breadcrumbs component', () => {
factory({ factory({
currentPath: '/', currentPath: '/',
glFeatures: { glFeatures: {
blobOverflowMenu: featureFlag, directoryCodeDropdownUpdates: featureFlag,
}, },
}); });
...@@ -143,11 +143,11 @@ describe('Repository breadcrumbs component', () => { ...@@ -143,11 +143,11 @@ describe('Repository breadcrumbs component', () => {
}); });
}); });
describe('when `blobOverflowMenu` feature flag is enabled', () => { describe('when `directoryCodeDropdownUpdates` feature flag is enabled', () => {
beforeEach(() => { beforeEach(() => {
factory({ factory({
glFeatures: { glFeatures: {
blobOverflowMenu: true, directoryCodeDropdownUpdates: true,
}, },
}); });
}); });
...@@ -175,7 +175,7 @@ describe('Repository breadcrumbs component', () => { ...@@ -175,7 +175,7 @@ describe('Repository breadcrumbs component', () => {
factory({ factory({
currentPath: path, currentPath: path,
glFeatures: { glFeatures: {
blobOverflowMenu: true, directoryCodeDropdownUpdates: true,
}, },
}); });
expect(findGLBreadcrumb().props('items').length).toEqual(linkCount); expect(findGLBreadcrumb().props('items').length).toEqual(linkCount);
...@@ -195,7 +195,7 @@ describe('Repository breadcrumbs component', () => { ...@@ -195,7 +195,7 @@ describe('Repository breadcrumbs component', () => {
name: routeName, name: routeName,
}, },
glFeatures: { glFeatures: {
blobOverflowMenu: true, directoryCodeDropdownUpdates: true,
}, },
}); });
...@@ -214,7 +214,7 @@ describe('Repository breadcrumbs component', () => { ...@@ -214,7 +214,7 @@ describe('Repository breadcrumbs component', () => {
factory({ factory({
currentPath, currentPath,
glFeatures: { glFeatures: {
blobOverflowMenu: true, directoryCodeDropdownUpdates: true,
}, },
}); });
expect(findClipboardButton().exists()).toBe(expected); expect(findClipboardButton().exists()).toBe(expected);
...@@ -226,7 +226,7 @@ describe('Repository breadcrumbs component', () => { ...@@ -226,7 +226,7 @@ describe('Repository breadcrumbs component', () => {
}); });
}); });
describe('when `blobOverflowMenu` feature flag is disabled', () => { describe('when `directoryCodeDropdownUpdates` feature flag is disabled', () => {
it.each` it.each`
path | linkCount path | linkCount
${'/'} | ${1} ${'/'} | ${1}
...@@ -354,7 +354,7 @@ describe('Repository breadcrumbs component', () => { ...@@ -354,7 +354,7 @@ describe('Repository breadcrumbs component', () => {
factory({ factory({
currentPath, currentPath,
glFeatures: { glFeatures: {
blobOverflowMenu: flagValue, directoryCodeDropdownUpdates: flagValue,
}, },
}); });
expect(findClipboardButton().exists()).toBe(expected); expect(findClipboardButton().exists()).toBe(expected);
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册