From 95d244003e8b2731faeef2b14afccefac847d154 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Wed, 15 Jun 2016 12:03:38 +0200 Subject: [PATCH] do not display link to send direct message --- app/views/users/show.html.erb | 4 ++-- spec/features/direct_messages_spec.rb | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 31c62d13c..8b4428a09 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -2,11 +2,11 @@
- <% if @user != current_user %> + <% if @user != current_user && @user.email_on_direct_message? %> <%= link_to t("users.show.send_private_message"), new_user_direct_message_path(@user), class: "button hollow float-right" %> - + <% else %>
<%= t("users.show.no_private_messages") %>
diff --git a/spec/features/direct_messages_spec.rb b/spec/features/direct_messages_spec.rb index 2ee1f4365..119cbe6de 100644 --- a/spec/features/direct_messages_spec.rb +++ b/spec/features/direct_messages_spec.rb @@ -24,8 +24,8 @@ feature 'Direct messages' do context "Permissions" do - scenario "Link to send the message" do - sender = create(:user, :level_two) + scenario "Do not display link to send message to myself" do + sender = create(:user, :level_two) login_as(sender) visit user_path(sender) @@ -33,6 +33,17 @@ feature 'Direct messages' do expect(page).to_not have_link "Send private message" end + scenario "Do not display link if direct message for user not allowed" do + sender = create(:user, :level_two) + receiver = create(:user, :level_two, email_on_direct_message: false) + + login_as(sender) + visit user_path(receiver) + + expect(page).to have_content "This user doesn't accept private messages." + expect(page).to_not have_link "Send private message" + end + scenario "Accessing form directly" do user = create(:user) author = create(:user)