Sha256: 66195b8c938ad576eddbd1ea114a3a03a6a7085efbfa287b5b35f39a9a5b6807

Contents?: true

Size: 1.29 KB

Versions: 3

Compression:

Stored size: 1.29 KB

Contents

require 'spec_helper'
require 'mail'

module Roadie
  module Rails
    describe Automatic do
      base_mailer = Class.new do
        def initialize(email = nil)
          @email = email
        end

        def mail(options = {})
          @email
        end
      end

      some_mailer = Class.new(base_mailer) do
        include Automatic
      end

      describe "#roadie_options" do
        it "returns Rails' roadie config" do
          allow(::Rails).to receive_message_chain(:application, :config, :roadie).and_return "roadie config"
          expect(some_mailer.new.roadie_options).to eq("roadie config")
        end
      end

      describe "#mail" do
        let(:email) { Mail.new(to: "foo@example.com", from: "me@example.com") }
        let(:roadie_options) { Options.new(url_options: {host: "somehost.com"}) }
        let(:instance) { some_mailer.new(email) }

        before { allow(instance).to receive(:roadie_options).and_return roadie_options }

        it "extends the email with InlineOnDelivery and assigns roadie options" do
          email = instance.mail
          expect(email).to be_kind_of(InlineOnDelivery)
          expect(email.roadie_options).not_to be_nil
          expect(email.roadie_options.url_options).to eq roadie_options.url_options
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
roadie-rails-1.0.1 spec/lib/roadie/rails/automatic_spec.rb
roadie-rails-1.0.0 spec/lib/roadie/rails/automatic_spec.rb
roadie-rails-1.0.0.pre1 spec/lib/roadie/rails/automatic_spec.rb