Sha256: 357ab6ae34293d7611a1688177ba0ba31b06ff264d6668e21a94c983e87006a1

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

require 'example_helper'

describe Chatterbox::Email do
  include Chatterbox
  
  describe "creation" do
    it "is wired with valid options" do
      lambda {
        Chatterbox::Email.deliver(valid_options)
      }.should_not raise_error
    end
    
    it "returns TMail::Mail instance" do
      result = Chatterbox::Email.deliver(valid_options)
      result.should be_instance_of(TMail::Mail)
    end
  end
  
  describe "validations" do
    it "should require :message" do
      lambda {
        Email.deliver(:config => { :from => "foo", :to => "foo"})
      }.should raise_error(ArgumentError, /Must configure with a :message/)
    end
    
    it "should require :message => :summary" do
      lambda {
        Email.deliver(:message => {}, :config => { :from => "foo", :to => "foo"})
      }.should raise_error(ArgumentError, /Must provide :summary in the :message/)
    end
    
    it "should require :to" do
      lambda {
        Email.deliver(:message => {:summary => ""}, :config => { :from => "anyone" })
      }.should raise_error(ArgumentError, /Must provide :to in the :config/)
    end
  
    it "should require from address" do
      lambda {
        Email.deliver(:message => {:summary => ""}, :config => { :to => "anyone"})
      }.should raise_error(ArgumentError, /Must provide :from in the :config/)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chatterbox-email-0.2.0 examples/chatterbox/email_example.rb