From 839fa7beab04e9d9544b1260082857d413e6fc0c Mon Sep 17 00:00:00 2001 From: Nick Leonard <nleonard@gitlab.com> Date: Wed, 3 Apr 2024 09:04:14 -0500 Subject: [PATCH 1/2] Move epic type filter to FF Changelog: fixed EE: true --- app/controllers/groups_controller.rb | 1 + .../javascripts/issues/list/components/issues_list_app.vue | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 251abcc6d84eda..cadbcbfa3020dd 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -41,6 +41,7 @@ class GroupsController < Groups::ApplicationController push_force_frontend_feature_flag(:work_items_beta, group.work_items_beta_feature_flag_enabled?) push_force_frontend_feature_flag(:work_items_mvc_2, group.work_items_mvc_2_feature_flag_enabled?) push_force_frontend_feature_flag(:linked_work_items, group.linked_work_items_feature_flag_enabled?) + push_frontend_feature_flag(:namespace_level_work_items, group) push_frontend_feature_flag(:issues_grid_view) push_frontend_feature_flag(:group_multi_select_tokens, group) end diff --git a/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue b/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue index 475dd8a4de4d5c..08f804ed36893d 100644 --- a/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue +++ b/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue @@ -80,7 +80,7 @@ export default { }, typeTokenOptions() { const typeTokens = []; - if (this.hasEpicsFeature && !this.isProject) { + if (this.hasEpicsFeature && !this.isProject && this.glFeatures.namespaceLevelWorkItems) { typeTokens.push(TYPE_TOKEN_EPIC_OPTION); } if (this.isOkrsEnabled) { -- GitLab From c9f8d39634830ad85ff1dc6537a65166995f20d7 Mon Sep 17 00:00:00 2001 From: Nick Leonard <nleonard@gitlab.com> Date: Mon, 8 Apr 2024 10:34:12 -0500 Subject: [PATCH 2/2] Move to workItemsMvc2 --- app/controllers/groups_controller.rb | 1 - .../issues/list/components/issues_list_app.vue | 2 +- .../list/components/issues_list_app_spec.js | 17 ++++++++++------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index cadbcbfa3020dd..251abcc6d84eda 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -41,7 +41,6 @@ class GroupsController < Groups::ApplicationController push_force_frontend_feature_flag(:work_items_beta, group.work_items_beta_feature_flag_enabled?) push_force_frontend_feature_flag(:work_items_mvc_2, group.work_items_mvc_2_feature_flag_enabled?) push_force_frontend_feature_flag(:linked_work_items, group.linked_work_items_feature_flag_enabled?) - push_frontend_feature_flag(:namespace_level_work_items, group) push_frontend_feature_flag(:issues_grid_view) push_frontend_feature_flag(:group_multi_select_tokens, group) end diff --git a/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue b/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue index 08f804ed36893d..1bf3e58bc55072 100644 --- a/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue +++ b/ee/app/assets/javascripts/issues/list/components/issues_list_app.vue @@ -80,7 +80,7 @@ export default { }, typeTokenOptions() { const typeTokens = []; - if (this.hasEpicsFeature && !this.isProject && this.glFeatures.namespaceLevelWorkItems) { + if (this.hasEpicsFeature && !this.isProject && this.glFeatures.workItemsMvc2) { typeTokens.push(TYPE_TOKEN_EPIC_OPTION); } if (this.isOkrsEnabled) { diff --git a/ee/spec/frontend/issues/list/components/issues_list_app_spec.js b/ee/spec/frontend/issues/list/components/issues_list_app_spec.js index ada741b86d9d9c..195df8fe2c5b3b 100644 --- a/ee/spec/frontend/issues/list/components/issues_list_app_spec.js +++ b/ee/spec/frontend/issues/list/components/issues_list_app_spec.js @@ -102,6 +102,7 @@ describe('EE IssuesListApp component', () => { const mountComponent = ({ provide = {}, okrsMvc = false, + workItemsMvc2 = false, issuesQueryResponse = jest.fn().mockResolvedValue(defaultQueryResponse), issuesCountsQueryResponse = jest.fn().mockResolvedValue(getIssuesCountsQueryResponse), } = {}) => { @@ -113,6 +114,7 @@ describe('EE IssuesListApp component', () => { provide: { glFeatures: { okrsMvc, + workItemsMvc2, }, ...defaultProvide, ...provide, @@ -179,15 +181,16 @@ describe('EE IssuesListApp component', () => { describe('typeTokenOptions', () => { describe.each` - hasEpicsFeature | isProject | eeWorkItemTypeTokens | message - ${false} | ${true} | ${[]} | ${'NOT include'} - ${true} | ${true} | ${[]} | ${'NOT include'} - ${true} | ${false} | ${[TYPE_TOKEN_EPIC_OPTION]} | ${'include'} + hasEpicsFeature | isProject | workItemsMvc2 | eeWorkItemTypeTokens | message + ${false} | ${true} | ${false} | ${[]} | ${'NOT include'} + ${true} | ${true} | ${false} | ${[]} | ${'NOT include'} + ${true} | ${false} | ${false} | ${[]} | ${'NOT include'} + ${true} | ${false} | ${true} | ${[TYPE_TOKEN_EPIC_OPTION]} | ${'include'} `( - 'when hasEpicsFeature is "$hasEpicsFeature" and isProject is "$isProject"', - ({ hasEpicsFeature, isProject, eeWorkItemTypeTokens, message }) => { + 'when hasEpicsFeature is "$hasEpicsFeature" and isProject is "$isProject" and workItemsMvc2 is "$workItemsMvc2"', + ({ hasEpicsFeature, isProject, workItemsMvc2, eeWorkItemTypeTokens, message }) => { beforeEach(() => { - wrapper = mountComponent({ provide: { hasEpicsFeature, isProject } }); + wrapper = mountComponent({ provide: { hasEpicsFeature, isProject }, workItemsMvc2 }); }); it(`should ${message} epic in type tokens`, () => { -- GitLab