From 030bfd85ea6d6929c9ed7fcc976eb3453e53abbf Mon Sep 17 00:00:00 2001 From: Phil Hughes Date: Fri, 15 Sep 2017 09:44:12 +0100 Subject: [PATCH] Fixes milestone issuable assignee URL Closes #33124 --- .../shared/milestones/_issuable.html.haml | 2 +- .../milestone-avatar-issuable-link.yml | 5 +++++ .../shared/milestones/_issuable.html.haml.rb | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/milestone-avatar-issuable-link.yml create mode 100644 spec/views/shared/milestones/_issuable.html.haml.rb diff --git a/app/views/shared/milestones/_issuable.html.haml b/app/views/shared/milestones/_issuable.html.haml index 3739f4c221d..14395bcc661 100644 --- a/app/views/shared/milestones/_issuable.html.haml +++ b/app/views/shared/milestones/_issuable.html.haml @@ -26,6 +26,6 @@ %span.assignee-icon - assignees.each do |assignee| - = link_to polymorphic_path(base_url_args, { milestone_title: @milestone.title, assignee_id: assignee.id, state: 'all' }), + = link_to polymorphic_path(issuable_type_args, { milestone_title: @milestone.title, assignee_id: assignee.id, state: 'all' }), class: 'has-tooltip', title: "Assigned to #{assignee.name}", data: { container: 'body' } do - image_tag(avatar_icon(assignee, 16), class: "avatar s16", alt: '') diff --git a/changelogs/unreleased/milestone-avatar-issuable-link.yml b/changelogs/unreleased/milestone-avatar-issuable-link.yml new file mode 100644 index 00000000000..7915ad60fa8 --- /dev/null +++ b/changelogs/unreleased/milestone-avatar-issuable-link.yml @@ -0,0 +1,5 @@ +--- +title: Fixed milestone issuable assignee link URL +merge_request: +author: +type: fixed diff --git a/spec/views/shared/milestones/_issuable.html.haml.rb b/spec/views/shared/milestones/_issuable.html.haml.rb new file mode 100644 index 00000000000..0a3f877cae0 --- /dev/null +++ b/spec/views/shared/milestones/_issuable.html.haml.rb @@ -0,0 +1,19 @@ +require 'spec_helper' + +describe 'shared/milestones/_issuable.html.haml' do + let(:project) { create(:project) } + let(:user) { create(:user) } + let(:milestone) { create(:milestone, project: project) } + let(:issuable) { create(:issue, project: project, assignees: [user]) } + + before do + assign(:project, project) + assign(:milestone, milestone) + end + + it 'avatar links to issues page' do + render 'shared/milestones/issuable', issuable: issuable, show_project_name: true + + expect(rendered).to have_css("a[href='#{project_issues_path(project, milestone_title: milestone.title, assignee_id: user.id, state: 'all')}']") + end +end