Fix specs
This commit is contained in:
parent
79889a6aa3
commit
874413cf70
|
@ -66,6 +66,7 @@ module Emails
|
||||||
def setup_note_mail(note_id, recipient_id)
|
def setup_note_mail(note_id, recipient_id)
|
||||||
@note = Note.find(note_id)
|
@note = Note.find(note_id)
|
||||||
@project = @note.project
|
@project = @note.project
|
||||||
|
return unless @project
|
||||||
|
|
||||||
@sent_notification = SentNotification.record_note(@note, recipient_id, reply_key)
|
@sent_notification = SentNotification.record_note(@note, recipient_id, reply_key)
|
||||||
end
|
end
|
||||||
|
|
|
@ -111,7 +111,7 @@ class Notify < BaseMailer
|
||||||
headers["X-GitLab-#{model.class.name}-ID"] = model.id
|
headers["X-GitLab-#{model.class.name}-ID"] = model.id
|
||||||
headers['X-GitLab-Reply-Key'] = reply_key
|
headers['X-GitLab-Reply-Key'] = reply_key
|
||||||
|
|
||||||
if Gitlab::IncomingEmail.enabled?
|
if Gitlab::IncomingEmail.enabled? && @sent_notification
|
||||||
address = Mail::Address.new(Gitlab::IncomingEmail.reply_address(reply_key))
|
address = Mail::Address.new(Gitlab::IncomingEmail.reply_address(reply_key))
|
||||||
address.display_name = @project.name_with_namespace
|
address.display_name = @project.name_with_namespace
|
||||||
|
|
||||||
|
@ -176,6 +176,6 @@ class Notify < BaseMailer
|
||||||
end
|
end
|
||||||
|
|
||||||
headers['List-Unsubscribe'] = list_unsubscribe_methods.map { |e| "<#{e}>" }.join(',')
|
headers['List-Unsubscribe'] = list_unsubscribe_methods.map { |e| "<#{e}>" }.join(',')
|
||||||
@sent_notification_url = unsubscribe_sent_notification_url(@sent_notification)
|
@unsubscribe_url = unsubscribe_sent_notification_url(@sent_notification)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,8 @@ module Notes
|
||||||
class BuildService < BaseService
|
class BuildService < BaseService
|
||||||
def execute
|
def execute
|
||||||
in_reply_to_discussion_id = params.delete(:in_reply_to_discussion_id)
|
in_reply_to_discussion_id = params.delete(:in_reply_to_discussion_id)
|
||||||
|
new_discussion = params.delete(:new_discussion)
|
||||||
|
|
||||||
if project && in_reply_to_discussion_id.present?
|
if project && in_reply_to_discussion_id.present?
|
||||||
discussion =
|
discussion =
|
||||||
project.notes.find_original_discussion(in_reply_to_discussion_id) ||
|
project.notes.find_original_discussion(in_reply_to_discussion_id) ||
|
||||||
|
@ -14,7 +16,7 @@ module Notes
|
||||||
end
|
end
|
||||||
|
|
||||||
params.merge!(discussion.reply_attributes)
|
params.merge!(discussion.reply_attributes)
|
||||||
elsif params.delete(:new_discussion)
|
elsif new_discussion
|
||||||
# TODO: Remove when we use a selectbox instead of a submit button
|
# TODO: Remove when we use a selectbox instead of a submit button
|
||||||
params[:type] = DiscussionNote.name
|
params[:type] = DiscussionNote.name
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,8 +25,8 @@
|
||||||
- if @labels_url
|
- if @labels_url
|
||||||
adjust your #{link_to 'label subscriptions', @labels_url}.
|
adjust your #{link_to 'label subscriptions', @labels_url}.
|
||||||
- else
|
- else
|
||||||
- if @sent_notification_url
|
- if @unsubscribe_url
|
||||||
= link_to "unsubscribe", @sent_notification_url
|
= link_to "unsubscribe", @unsubscribe_url
|
||||||
from this thread or
|
from this thread or
|
||||||
adjust your notification settings.
|
adjust your notification settings.
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
%p
|
%p
|
||||||
You have been mentioned in an issue.
|
You have been mentioned in an issue.
|
||||||
|
|
||||||
= render template: 'new_issue_email'
|
= render template: 'notify/new_issue_email'
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
%p
|
%p
|
||||||
You have been mentioned in Merge Request #{@merge_request.to_reference}
|
You have been mentioned in Merge Request #{@merge_request.to_reference}
|
||||||
|
|
||||||
= render template: 'new_merge_request_email'
|
= render template: 'notify/new_merge_request_email'
|
||||||
|
|
|
@ -2,7 +2,7 @@ FactoryGirl.define do
|
||||||
factory :sent_notification do
|
factory :sent_notification do
|
||||||
project factory: :empty_project
|
project factory: :empty_project
|
||||||
recipient factory: :user
|
recipient factory: :user
|
||||||
noteable factory: :issue
|
noteable { create(:issue, project: project) }
|
||||||
reply_key { SentNotification.reply_key }
|
reply_key { SentNotification.reply_key }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe DiscussionNote, models: true do
|
describe DiscussionNote, models: true do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe IndividualNoteDiscussion, models: true do
|
describe IndividualNoteDiscussion, models: true do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe OutOfContextDiscussion, model: true do
|
describe OutOfContextDiscussion, model: true do
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -4,7 +4,7 @@ describe SentNotification, model: true do
|
||||||
describe 'validation' do
|
describe 'validation' do
|
||||||
describe 'note validity' do
|
describe 'note validity' do
|
||||||
context "when the project doesn't match the noteable's project" do
|
context "when the project doesn't match the noteable's project" do
|
||||||
subject { build(:sent_notification, project: create(:project)) }
|
subject { build(:sent_notification, noteable: create(:issue)) }
|
||||||
|
|
||||||
it "is invalid" do
|
it "is invalid" do
|
||||||
expect(subject).not_to be_valid
|
expect(subject).not_to be_valid
|
||||||
|
|
Loading…
Reference in New Issue