Skip to content
代码片段 群组 项目
提交 8a3e5b65 编辑于 作者: Allen Cook's avatar Allen Cook
浏览文件

Merge branch '371209-fix-user-activity-work-item-url' into 'master'

Fix user recent activity links for work item actions

See merge request gitlab-org/gitlab!95738
No related branches found
No related tags found
无相关合并请求
......@@ -88,6 +88,12 @@ def event_preposition(event)
end
end
def event_target_path(event)
return Gitlab::UrlBuilder.build(event.target, only_path: true) if event.work_item?
event.target_link_options
end
def event_feed_title(event)
words = []
words << event.author_name
......
......@@ -8,7 +8,7 @@
%span.event-type.d-inline-block.gl-mr-2{ class: event.action_name }
= event.action_name
%span.event-target-type.gl-mr-2= event.target_type_name
= link_to event.target_link_options, class: 'has-tooltip event-target-link gl-mr-2', title: event.target_title do
= link_to event_target_path(event), class: 'has-tooltip event-target-link gl-mr-2', title: event.target_title do
= event.target.reference_link_text
- unless event.milestone?
%span.event-target-title.gl-text-overflow-ellipsis.gl-overflow-hidden.gl-mr-2{ dir: "auto" }
......
......@@ -5,6 +5,25 @@
RSpec.describe EventsHelper do
include Gitlab::Routing
describe '#event_target_path' do
subject { helper.event_target_path(event.present) }
context 'when target is a work item' do
let(:work_item) { create(:work_item) }
let(:event) { create(:event, target: work_item, target_type: 'WorkItem') }
it { is_expected.to eq(Gitlab::UrlBuilder.build(work_item, only_path: true)) }
end
context 'when target is not a work item' do
let(:project) { create(:project) }
let(:issue) { create(:issue, project: project) }
let(:event) { create(:event, target: issue, project: project) }
it { is_expected.to eq([project, issue]) }
end
end
describe '#event_commit_title' do
let(:message) { 'foo & bar ' + 'A' * 70 + '\n' + 'B' * 80 }
......
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe 'events/event/_common.html.haml' do
let_it_be(:project) { create(:project) }
let_it_be(:issue) { create(:issue, project: project) }
let_it_be(:user) { create(:user) }
context 'when it is a work item event' do
let(:work_item) { create(:work_item, project: project) }
let(:event) do
create(:event, :created, project: project, target: work_item, target_type: 'WorkItem', author: user)
end
it 'renders the correct url' do
render partial: 'events/event/common', locals: { event: event.present }
expect(rendered).to have_link(
work_item.reference_link_text, href: "/#{project.full_path}/-/work_items/#{work_item.id}"
)
end
end
context 'when it is an isssue event' do
let(:issue) { create(:issue, project: project) }
let(:event) do
create(:event, :created, project: project, target: issue, author: user)
end
it 'renders the correct url' do
render partial: 'events/event/common', locals: { event: event.present }
expect(rendered).to have_link(issue.reference_link_text, href: "/#{project.full_path}/-/issues/#{issue.iid}")
end
end
end
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册