improve receiver specs to account for posts approval

This commit is contained in:
Régis Hanol 2016-04-11 18:20:26 +02:00
parent 9bba68ed74
commit e4980392da
5 changed files with 18 additions and 5 deletions

View File

@ -2235,9 +2235,6 @@ en:
%{message}
---
%{respond_instructions}
digest:
why: "A brief summary of %{site_link} since your last visit on %{last_seen_at}"
subject_template: "[%{site_name}] Digest"

View File

@ -375,7 +375,8 @@ module Email
options[:raw] << "</details>" << "\n"
end
manager = NewPostManager.new(options[:user], options)
user = options.delete(:user)
manager = NewPostManager.new(user, options)
result = manager.perform
raise InvalidPost, result.errors.full_messages.join("\n") if result.errors.any?
@ -383,7 +384,7 @@ module Email
if result.post
@incoming_email.update_columns(topic_id: result.post.topic_id, post_id: result.post.id)
if result.post.topic && result.post.topic.private_message?
add_other_addresses(result.post.topic, options[:user])
add_other_addresses(result.post.topic, user)
end
end
end

View File

@ -327,6 +327,21 @@ describe Email::Receiver do
expect { process(:new_user) }.to change(Topic, :count)
end
it "works when approving is enabled" do
SiteSetting.approve_unless_trust_level = 4
Fabricate(:user, email: "tl3@bar.com", trust_level: TrustLevel[3])
Fabricate(:user, email: "tl4@bar.com", trust_level: TrustLevel[4])
category.set_permissions(Group[:trust_level_4] => :full)
category.save
Group.refresh_automatic_group!(:trust_level_4)
expect { process(:tl3_user) }.to_not change(Topic, :count)
expect { process(:tl4_user) }.to change(Topic, :count)
end
end
end

BIN
spec/fixtures/emails/tl3_user.eml vendored Normal file

Binary file not shown.

BIN
spec/fixtures/emails/tl4_user.eml vendored Normal file

Binary file not shown.