Sha256: 79eb6a9d4225522fc5c456249af7909896cdaf61d007247d876b185a7b630d79

Contents?: true

Size: 846 Bytes

Versions: 5

Compression:

Stored size: 846 Bytes

Contents

require 'rspec'
require 'set'
require 'mercury-messages'

module Lookout::Rack::Test::RSpec
  module Emails
    def expect_emails(expected_email_names)
      email_names = []
      Mercury::Messages::SendImmediateBatchEmail.stub(:new) do |mail_hash|
        email_names << mail_hash[:email_name]
      end

      yield 

      expect(Set.new(email_names)).to eql Set.new(expected_email_names)
    end
    
    def expect_email_attributes(expected_attributes)
      attributes = []
      Mercury::Messages::SendImmediateBatchEmail.stub(:new) do |mail_hash|
        # Get all the keys (attributes) for each of this Message's pieces
        attributes += mail_hash[:pieces].map{|h| h[:attributes]}.map(&:keys)
      end

      yield

      attributes.flatten!

      expect(Set.new(attributes)).to eql Set.new(expected_attributes)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
lookout-rack-test-1.3.0 lib/lookout/rack/test/rspec/email_helpers.rb
lookout-rack-test-1.2.0 lib/lookout/rack/test/rspec/email_helpers.rb
lookout-rack-test-1.1.0 lib/lookout/rack/test/rspec/email_helpers.rb
lookout-rack-test-1.0.1 lib/lookout/rack/test/rspec/email_helpers.rb
lookout-rack-test-1.0.0 lib/lookout/rack/test/rspec/email_helpers.rb