FIX: force enable a user's email_private_messages option when user replies via email (#6478)

* Enable user email PM when posting to group or replying to topic via email

* remove extra line

* Add test and fix snake_case

* Only reenable email_private_messages for PM replies
This commit is contained in:
Penar Musaraj
2018-10-15 19:51:57 -04:00
committed by Sam
parent 005e1f5373
commit b06dccac49
2 changed files with 23 additions and 6 deletions

View File

@@ -531,6 +531,18 @@ describe Email::Receiver do
expect { process(:reply_user_not_matching_but_known) }.to change { topic.posts.count }
end
it "re-enables user's email_private_messages setting when user replies to a private topic" do
topic.update_columns(category_id: nil, archetype: Archetype.private_message)
topic.allowed_users << user
topic.save
user.user_option.update_columns(email_private_messages: false)
expect { process(:reply_user_matching) }.to change { topic.posts.count }
user.reload
expect(user.user_option.email_private_messages).to eq(true)
end
end
context "new message to a group" do
@@ -629,7 +641,7 @@ describe Email::Receiver do
expect(Post.last.raw).to match(/discourse\.rb/)
end
it "enables user's email_private_messages option when user emails group" do
it "enables user's email_private_messages setting when user emails new topic to group" do
user = Fabricate(:user, email: "existing@bar.com")
user.user_option.update_columns(email_private_messages: false)
expect { process(:group_existing_user) }.to change(Topic, :count)