Fix image diff notes email

This commit is contained in:
Felipe Artur 2017-11-09 17:59:39 -02:00
parent 1bf689563b
commit 5dd2862195
3 changed files with 32 additions and 4 deletions

View file

@ -1,10 +1,15 @@
- discussion = @note.discussion if @note.part_of_discussion? - discussion = @note.discussion if @note.part_of_discussion?
- diff_discussion = discussion&.diff_discussion?
- on_image = discussion.on_image? if diff_discussion
- if discussion - if discussion
- phrase_end_char = on_image ? "." : ":"
%p.details %p.details
= succeed ':' do = succeed phrase_end_char do
= link_to @note.author_name, user_url(@note.author) = link_to @note.author_name, user_url(@note.author)
- if discussion.diff_discussion? - if diff_discussion
- if discussion.new_discussion? - if discussion.new_discussion?
started a new discussion started a new discussion
- else - else
@ -21,7 +26,7 @@
%p.details %p.details
#{link_to @note.author_name, user_url(@note.author)} commented: #{link_to @note.author_name, user_url(@note.author)} commented:
- if discussion&.diff_discussion? - if diff_discussion && !on_image
= content_for :head do = content_for :head do
= stylesheet_link_tag 'mailers/highlighted_diff_email' = stylesheet_link_tag 'mailers/highlighted_diff_email'

View file

@ -0,0 +1,5 @@
---
title: Fix image diff notification email from showing wrong content
merge_request:
author:
type: fixed

View file

@ -783,7 +783,25 @@ describe Notify do
shared_examples 'an email for a note on a diff discussion' do |model| shared_examples 'an email for a note on a diff discussion' do |model|
let(:note) { create(model, author: note_author) } let(:note) { create(model, author: note_author) }
it "includes diffs with character-level highlighting" do context 'when note is on image' do
before do
allow_any_instance_of(DiffDiscussion).to receive(:on_image?).and_return(true)
end
it 'does not include diffs with character-level highlighting' do
is_expected.not_to have_body_text '<span class="p">}</span></span>'
end
it 'ends the intro with a dot' do
is_expected.to have_body_text "#{note.diff_file.file_path}</a>."
end
end
it 'ends the intro with a colon' do
is_expected.to have_body_text "#{note.diff_file.file_path}</a>:"
end
it 'includes diffs with character-level highlighting' do
is_expected.to have_body_text '<span class="p">}</span></span>' is_expected.to have_body_text '<span class="p">}</span></span>'
end end