mirror of
https://github.com/discourse/discourse.git
synced 2025-02-06 11:28:18 +00:00
fix the build
This commit is contained in:
parent
4bb31daa2e
commit
51b2279af0
@ -484,14 +484,6 @@ This is a link http://example.com"
|
||||
|
||||
end
|
||||
|
||||
def fill_email(mail, from, to, body = nil, subject = nil, cc = nil)
|
||||
result = mail.gsub("FROM", from).gsub("TO", to)
|
||||
result.gsub!(/Hey.*/m, body) if body
|
||||
result.sub!(/We .*/, subject) if subject
|
||||
result.sub!("CC", cc.presence || "")
|
||||
result
|
||||
end
|
||||
|
||||
def process_email(opts)
|
||||
incoming_email = fixture_file("emails/valid_incoming.eml")
|
||||
email = fill_email(incoming_email, opts[:from], opts[:to], opts[:body], opts[:subject], opts[:cc])
|
||||
|
BIN
spec/fixtures/emails/wrong_reply_key.eml
vendored
BIN
spec/fixtures/emails/wrong_reply_key.eml
vendored
Binary file not shown.
@ -172,16 +172,19 @@ describe Jobs::PollMailbox do
|
||||
end
|
||||
|
||||
describe "a valid reply" do
|
||||
let(:email) { MockPop3EmailObject.new fixture_file('emails/valid_reply.eml')}
|
||||
let(:expected_post) { fixture_file('emails/valid_reply.cooked')}
|
||||
let(:reply_key) { '59d8df8370b7e95c5a49fbf86aeb2c93' }
|
||||
let(:to) { SiteSetting.reply_by_email_address.gsub("%{reply_key}", reply_key) }
|
||||
let(:raw_email) { fill_email(fixture_file("emails/valid_reply.eml"), user.email, to) }
|
||||
let(:email) { MockPop3EmailObject.new(raw_email) }
|
||||
let(:expected_post) { fixture_file('emails/valid_reply.cooked') }
|
||||
let(:topic) { Fabricate(:topic) }
|
||||
let(:first_post) { Fabricate(:post, topic: topic, post_number: 1)}
|
||||
let(:first_post) { Fabricate(:post, user: user, topic: topic, post_number: 1) }
|
||||
|
||||
before do
|
||||
first_post.save
|
||||
EmailLog.create(to_address: 'jake@email.example.com',
|
||||
EmailLog.create(to_address: user.email,
|
||||
email_type: 'user_posted',
|
||||
reply_key: '59d8df8370b7e95c5a49fbf86aeb2c93',
|
||||
reply_key: reply_key,
|
||||
user: user,
|
||||
post: first_post,
|
||||
topic: topic)
|
||||
@ -225,15 +228,18 @@ describe Jobs::PollMailbox do
|
||||
end
|
||||
|
||||
describe "when topic is closed" do
|
||||
let(:email) { MockPop3EmailObject.new fixture_file('emails/valid_reply.eml')}
|
||||
let(:reply_key) { '59d8df8370b7e95c5a49fbf86aeb2c93' }
|
||||
let(:to) { SiteSetting.reply_by_email_address.gsub("%{reply_key}", reply_key) }
|
||||
let(:raw_email) { fill_email(fixture_file("emails/valid_reply.eml"), user.email, to) }
|
||||
let(:email) { MockPop3EmailObject.new(raw_email) }
|
||||
let(:topic) { Fabricate(:topic, closed: true) }
|
||||
let(:first_post) { Fabricate(:post, topic: topic, post_number: 1)}
|
||||
let(:first_post) { Fabricate(:post, user: user, topic: topic, post_number: 1) }
|
||||
|
||||
before do
|
||||
first_post.save
|
||||
EmailLog.create(to_address: 'jake@email.example.com',
|
||||
EmailLog.create(to_address: user.email,
|
||||
email_type: 'user_posted',
|
||||
reply_key: '59d8df8370b7e95c5a49fbf86aeb2c93',
|
||||
reply_key: reply_key,
|
||||
user: user,
|
||||
post: first_post,
|
||||
topic: topic)
|
||||
@ -250,15 +256,18 @@ describe Jobs::PollMailbox do
|
||||
end
|
||||
|
||||
describe "when topic is deleted" do
|
||||
let(:email) { MockPop3EmailObject.new fixture_file('emails/valid_reply.eml')}
|
||||
let(:reply_key) { '59d8df8370b7e95c5a49fbf86aeb2c93' }
|
||||
let(:to) { SiteSetting.reply_by_email_address.gsub("%{reply_key}", reply_key) }
|
||||
let(:raw_email) { fill_email(fixture_file("emails/valid_reply.eml"), user.email, to) }
|
||||
let(:email) { MockPop3EmailObject.new(raw_email) }
|
||||
let(:deleted_topic) { Fabricate(:deleted_topic) }
|
||||
let(:first_post) { Fabricate(:post, topic: deleted_topic, post_number: 1)}
|
||||
let(:first_post) { Fabricate(:post, user: user, topic: deleted_topic, post_number: 1)}
|
||||
|
||||
before do
|
||||
first_post.save
|
||||
EmailLog.create(to_address: 'jake@email.example.com',
|
||||
EmailLog.create(to_address: user.email,
|
||||
email_type: 'user_posted',
|
||||
reply_key: '59d8df8370b7e95c5a49fbf86aeb2c93',
|
||||
reply_key: reply_key,
|
||||
user: user,
|
||||
post: first_post,
|
||||
topic: deleted_topic)
|
||||
@ -277,7 +286,9 @@ describe Jobs::PollMailbox do
|
||||
describe "in failure conditions" do
|
||||
|
||||
it "a valid reply without an email log raises an EmailLogNotFound error" do
|
||||
email = MockPop3EmailObject.new fixture_file('emails/valid_reply.eml')
|
||||
to = SiteSetting.reply_by_email_address.gsub("%{reply_key}", '59d8df8370b7e95c5a49fbf86aeb2c93')
|
||||
raw_email = fill_email(fixture_file("emails/valid_reply.eml"), user.email, to)
|
||||
email = MockPop3EmailObject.new(raw_email)
|
||||
expect_exception Email::Receiver::EmailLogNotFound
|
||||
|
||||
poller.handle_mail(email)
|
||||
|
@ -64,4 +64,12 @@ module Helpers
|
||||
expect(result).to eq(true)
|
||||
end
|
||||
|
||||
def fill_email(mail, from, to, body = nil, subject = nil, cc = nil)
|
||||
result = mail.gsub("FROM", from).gsub("TO", to)
|
||||
result.gsub!(/Hey.*/m, body) if body
|
||||
result.sub!(/We .*/, subject) if subject
|
||||
result.sub!("CC", cc.presence || "")
|
||||
result
|
||||
end
|
||||
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user