validates that a user does not want to receive direct messages
This commit is contained in:
@@ -3,11 +3,24 @@
|
||||
<%= render 'shared/back_link' %>
|
||||
|
||||
<h1>
|
||||
<%= t("users.direct_messages.new.title",
|
||||
receiver: @receiver.name) %>
|
||||
<%= t("users.direct_messages.new.title", receiver: @receiver.name) %>
|
||||
</h1>
|
||||
|
||||
<% if can? :create, @direct_message %>
|
||||
<% if not current_user %>
|
||||
<div class="callout primary">
|
||||
<p>
|
||||
<%= t("users.direct_messages.new.authenticate",
|
||||
signin: link_to(t("users.direct_messages.new.signin"), new_user_session_path),
|
||||
signup: link_to(t("users.direct_messages.new.signup"), new_user_registration_path)).html_safe %>
|
||||
</p>
|
||||
</div>
|
||||
<% elsif not @receiver.email_on_direct_message? %>
|
||||
<div class="callout primary">
|
||||
<p>
|
||||
<%= t("users.direct_messages.new.direct_messages_bloqued") %>
|
||||
</p>
|
||||
</div>
|
||||
<% elsif can? :create, @direct_message %>
|
||||
<%= form_for [@receiver, @direct_message] do |f| %>
|
||||
<%= render "shared/errors", resource: @direct_message %>
|
||||
|
||||
|
||||
@@ -504,11 +504,15 @@ en:
|
||||
direct_messages:
|
||||
new:
|
||||
body_label: Message
|
||||
direct_messages_bloqued: "This user has decided not to receive direct messages"
|
||||
submit_button: Send message
|
||||
title: Send private message to %{receiver}
|
||||
title_label: Title
|
||||
verified_only: To send a private message %{verify_account}
|
||||
verify_account: verify your account
|
||||
authenticate: You must %{signin} or %{signup} to continue.
|
||||
signin: sign in
|
||||
signup: sign up
|
||||
show:
|
||||
receiver: Message sent to %{receiver}
|
||||
show:
|
||||
|
||||
@@ -143,6 +143,7 @@ es:
|
||||
accept_terms_title: Acepto la Política de privacidad y las Condiciones de uso
|
||||
conditions: Condiciones de uso
|
||||
debate: el debate
|
||||
direct_message: el mensaje privado
|
||||
error: error
|
||||
errors: errores
|
||||
not_saved: 'impidieron guardar %{resource}:'
|
||||
@@ -504,11 +505,15 @@ es:
|
||||
direct_messages:
|
||||
new:
|
||||
body_label: "Mensaje"
|
||||
direct_messages_bloqued: "Este usuarios ha decidido no recibir mensajes directos"
|
||||
submit_button: "Enviar mensaje"
|
||||
title: Enviar mensaje privado a %{receiver}
|
||||
title_label: "Título"
|
||||
verified_only: Para enviar un mensaje privado %{verify_account}
|
||||
verify_account: verifica tu cuenta
|
||||
authenticate: Necesitas %{signin} o %{signup}.
|
||||
signin: iniciar sesión
|
||||
signup: registrarte
|
||||
show:
|
||||
receiver: Mensaje enviado a %{receiver}
|
||||
show:
|
||||
|
||||
@@ -2,6 +2,10 @@ require 'rails_helper'
|
||||
|
||||
feature 'Direct messages' do
|
||||
|
||||
background do
|
||||
Setting[:direct_message_max_per_day] = 3
|
||||
end
|
||||
|
||||
scenario "Create" do
|
||||
sender = create(:user, :level_two)
|
||||
receiver = create(:user, :level_two)
|
||||
@@ -44,19 +48,37 @@ feature 'Direct messages' do
|
||||
expect(page).to_not have_link "Send private message"
|
||||
end
|
||||
|
||||
scenario "Accessing form directly" do
|
||||
user = create(:user)
|
||||
author = create(:user)
|
||||
proposal = create(:proposal, author: author)
|
||||
scenario "Unverified user" do
|
||||
sender = create(:user)
|
||||
receiver = create(:user)
|
||||
|
||||
login_as(user)
|
||||
visit new_proposal_notification_path(proposal_id: proposal.id)
|
||||
login_as(sender)
|
||||
visit new_user_direct_message_path(receiver)
|
||||
|
||||
expect(current_path).to eq(proposals_path)
|
||||
expect(page).to have_content("You do not have permission to carry out the action")
|
||||
expect(page).to have_content "To send a private message verify your account"
|
||||
expect(page).to_not have_link "Send private message"
|
||||
end
|
||||
|
||||
pending "unverified user"
|
||||
scenario "User not logged in" do
|
||||
sender = create(:user)
|
||||
receiver = create(:user)
|
||||
|
||||
visit new_user_direct_message_path(receiver)
|
||||
|
||||
expect(page).to have_content "You must sign in or sign up to continue."
|
||||
expect(page).to_not have_link "Send private message"
|
||||
end
|
||||
|
||||
scenario "Accessing form directly" do
|
||||
sender = create(:user, :level_two)
|
||||
receiver = create(:user, :level_two, email_on_direct_message: false)
|
||||
|
||||
login_as(sender)
|
||||
visit new_user_direct_message_path(receiver)
|
||||
|
||||
expect(page).to have_content("This user has decided not to receive direct messages")
|
||||
expect(page).to_not have_css("#direct_message_title")
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -74,10 +96,6 @@ feature 'Direct messages' do
|
||||
|
||||
context "Limits" do
|
||||
|
||||
background do
|
||||
Setting[:direct_message_max_per_day] = 3
|
||||
end
|
||||
|
||||
scenario "Can only send a maximum number of direct messages per day" do
|
||||
sender = create(:user, :level_two)
|
||||
receiver = create(:user, :level_two)
|
||||
|
||||
Reference in New Issue
Block a user