diff --git a/app/models/newsletter.rb b/app/models/newsletter.rb index b99e3e2ca..35ed57b91 100644 --- a/app/models/newsletter.rb +++ b/app/models/newsletter.rb @@ -1,4 +1,5 @@ class Newsletter < ActiveRecord::Base + has_many :activities, as: :actionable validates :subject, presence: true validates :segment_recipient, presence: true diff --git a/app/views/admin/newsletters/show.html.erb b/app/views/admin/newsletters/show.html.erb index c6b043c12..450b12d16 100644 --- a/app/views/admin/newsletters/show.html.erb +++ b/app/views/admin/newsletters/show.html.erb @@ -26,6 +26,12 @@ <%= segment_name(@newsletter.segment_recipient) %> <%= t("admin.newsletters.show.affected_users", n: recipients_count) %> + +
+ + <%= t("admin.newsletters.show.sent_emails", count: @newsletter.activities.count) %> + +
diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index aa7a23f8e..c1f940981 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -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 diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 2509a15cd..1d20a8037 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -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 diff --git a/spec/features/admin/emails/newsletters_spec.rb b/spec/features/admin/emails/newsletters_spec.rb index 9371c2f6e..102620245 100644 --- a/spec/features/admin/emails/newsletters_spec.rb +++ b/spec/features/admin/emails/newsletters_spec.rb @@ -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