Sha256: 336f3db348399876b0388bfd0c22979b983d3539a891183d79e215b9b88b5d88

Contents?: true

Size: 1.44 KB

Versions: 11

Compression:

Stored size: 1.44 KB

Contents

# frozen_string_literal: true

require "spec_helper"

module Decidim
  module Admin
    describe DeliverNewsletter do
      describe "call" do
        let(:organization) { create(:organization) }
        let(:newsletter) do
          create(:newsletter,
                 organization: organization,
                 body: Decidim::Faker::Localized.sentence(3))
        end

        let!(:deliverable_users) do
          create_list(:user, 5, :confirmed, organization: organization, newsletter_notifications: true)
        end

        let!(:not_deliverable_users) do
          create_list(:user, 3, organization: organization, newsletter_notifications: false)
        end
        let!(:unconfirmed_users) do
          create_list(:user, 3, organization: organization, newsletter_notifications: true)
        end

        let(:command) { described_class.new(newsletter) }

        it "updates the counters and delivers to the right users" do
          clear_emails
          expect(emails.length).to eq(0)

          perform_enqueued_jobs { command.call }

          expect(emails.length).to eq(5)

          deliverable_users.each do |user|
            email = emails.find { |e| e.to.include? user.email }
            expect(email_body(email)).to include(newsletter.body[user.locale])
          end

          newsletter.reload
          expect(newsletter.total_deliveries).to eq(5)
          expect(newsletter.total_recipients).to eq(5)
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
decidim-0.6.8 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.7 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.6 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.5 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.4 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.3 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.2 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.1 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.6.0 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.5.1 decidim-admin/spec/commands/deliver_newsletter_spec.rb
decidim-0.5.0 decidim-admin/spec/commands/deliver_newsletter_spec.rb