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

Make Epics List work item based

Updates the epics list page so that it
uses the work items graphQL API instead
of the Epics one.
上级 0d2bb8cd
No related branches found
No related tags found
无相关合并请求
import initEpicsList from 'ee/epics_list/epics_list_bundle';
initEpicsList({
mountPointSelector: '#js-epics-list',
});
if (gon.features.workItemEpicsList && gon.features.namespaceLevelWorkItems) {
import(/* webpackChunkName: 'workItemsList' */ '~/work_items/list')
.then(({ mountWorkItemsListApp }) => {
mountWorkItemsListApp();
})
.catch(() => {});
} else {
import(/* webpackChunkName: 'epicsList' */ 'ee/epics_list/epics_list_bundle')
.then(({ default: initEpicsList }) => {
initEpicsList({
mountPointSelector: '#js-epics-list',
});
})
.catch(() => {});
}
......@@ -23,10 +23,14 @@ class Groups::EpicsController < Groups::ApplicationController
push_force_frontend_feature_flag(:namespace_level_work_items, epic_work_items_enabled?)
end
before_action only: :index do
push_frontend_feature_flag(:work_item_epics_list, @group)
push_force_frontend_feature_flag(:namespace_level_work_items, epic_work_items_enabled?)
end
feature_category :portfolio_management
urgency :default, [:show, :new, :realtime_changes]
urgency :low, [:discussions]
def show
respond_to do |format|
format.html do
......@@ -42,6 +46,14 @@ def new
@noteable = Epic.new
end
def index
if Feature.enabled?(:work_item_epics_list, @group) && epic_work_items_enabled?
render 'work_items_index'
else
render 'index'
end
end
def create
@epic = ::Epics::CreateService.new(group: @group, current_user: current_user, params: epic_params).execute
......
- page_title _("Epics")
- add_page_specific_style 'page_bundles/issuable_list'
.js-work-items-list-root{ data: work_items_list_data(@group, current_user).merge(work_item_type: 'EPIC') }
---
name: work_item_epics_list
feature_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/471578
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/159604
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/473073
milestone: '17.3'
group: group::product planning
type: wip
default_enabled: false
......@@ -12,7 +12,8 @@
before do
stub_licensed_features(epics: true)
stub_feature_flags(work_item_epics: false, namespace_level_work_items: false, work_item_epics_rollout: false)
stub_feature_flags(work_item_epics: false, namespace_level_work_items: false, work_item_epics_rollout: false,
work_item_epics_list: false)
sign_in(user)
end
......
......@@ -15,7 +15,7 @@
before do
stub_licensed_features(epics: true)
stub_feature_flags(work_item_epics: false, namespace_level_work_items: false, work_item_epics_rollout: false)
stub_feature_flags(work_item_epics: false, namespace_level_work_items: false, work_item_epics_rollout: false, work_item_epics_list: false)
sign_in(user)
end
......@@ -223,6 +223,37 @@
end
end
end
context 'when work_item_epics_list is enabled' do
let_it_be(:epic_work_item_1) do
create(:work_item, :epic_with_legacy_epic, namespace: group, title: "WorkItem Epic 1", assignees: [user])
end
let_it_be(:epic_work_item_2) do
create(:work_item, :epic_with_legacy_epic, namespace: group, title: "WorkItem Epic 2", assignees: [user])
end
before do
stub_feature_flags(work_item_epics: true, work_item_epics_rollout: true, work_item_epics_list: true)
end
it 'renders work item epics' do
visit group_epics_path(group)
# We create a synced epic work item for each epic and legacy epic for each WI epic.
# We therefore expect 6 epics (4 legacy epics and their synced work item + 2 work item epics)
expect(page).to have_selector('.issue', count: 6)
expect(page).to have_link(epic_work_item_1.title)
expect(page).to have_link(epic_work_item_2.title)
end
it 'displays epic assignees' do
visit group_epics_path(group)
expect(page.find("#issuable_#{epic_work_item_1.id}")).to have_link("Assigned to #{user.name}")
expect(page.find("#issuable_#{epic_work_item_2.id}")).to have_link("Assigned to #{user.name}")
end
end
end
describe 'within a sub-group group' do
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册