Add counter of emails sent to newsletter preview

This commit is contained in:
voodoorai2000
2018-10-24 19:51:44 +02:00
committed by Javi Martín
parent bc77812ae8
commit 7d5b57aee2
5 changed files with 27 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
class Newsletter < ActiveRecord::Base
has_many :activities, as: :actionable
validates :subject, presence: true
validates :segment_recipient, presence: true

View File

@@ -26,6 +26,12 @@
<%= segment_name(@newsletter.segment_recipient) %>
<%= t("admin.newsletters.show.affected_users", n: recipients_count) %>
</div>
<div class="small-12 column">
<strong>
<%= t("admin.newsletters.show.sent_emails", count: @newsletter.activities.count) %>
</strong>
</div>
</div>
<div class="small-12 column">

View File

@@ -641,6 +641,9 @@ en:
title: Newsletter preview
send: Send
affected_users: (%{n} affected users)
sent_emails:
one: 1 email sent
other: "%{count} emails sent"
sent_at: Sent at
subject: Subject
segment_recipient: Recipients

View File

@@ -637,6 +637,9 @@ es:
title: Vista previa de newsletter
send: Enviar
affected_users: (%{n} usuarios afectados)
sent_emails:
one: 1 correo enviado
other: "%{count} correos enviados"
sent_at: Enviado
subject: Asunto
segment_recipient: Destinatarios

View File

@@ -146,6 +146,20 @@ feature "Admin newsletter emails" do
end
end
context "Counter of emails sent", :js do
scenario "Display counter" do
newsletter = create(:newsletter, segment_recipient: "administrators")
visit admin_newsletter_path(newsletter)
accept_confirm { click_link "Send" }
expect(page).to have_content "Newsletter sent successfully"
expect(page).to have_content "1 affected users"
expect(page).to have_content "1 email sent"
end
end
scenario "Select list of users to send newsletter" do
UserSegments::SEGMENTS.each do |user_segment|
visit new_admin_newsletter_path