Sha256: edfbb4266a28af32e5d65b4aa13f7787f419dfb1b826feb53d448165283cdf54

Contents?: true

Size: 1.41 KB

Versions: 4

Compression:

Stored size: 1.41 KB

Contents

require 'spec_helper'

describe HttpMailer::ServiceHandler do

  describe "#initialize" do
    let(:settings){ {:host => "host.com", :api_user=> "test_api_user", :api_key => "1357924680"} }
    let(:service_handler){ HttpMailer::ServiceHandler.new(settings) }

    it "creates an instance" do
      expect(service_handler).to respond_to(:service_api)
      expect(service_handler).to respond_to(:service_configuration)
    end
  end

  describe "#configured?" do
    context "fully configured" do
      let(:settings){ {:host => "mandrillapp.com", :api_key => "1234567890"} }
      let(:mailer){ HttpMailer::ServiceHandler.new(settings) }

      it 'returns true' do
        expect(mailer.configured?).to be true
      end
    end

    context "not fully configured" do
      let(:no_settings){ {} }
      let(:mailer_with_no_settings){ HttpMailer::ServiceHandler.new(no_settings) }

      let(:settings_missing_host){ {:api_key => "1234567890"} }
      let(:mailer_missing_host){ HttpMailer::ServiceHandler.new(settings_missing_host) }

      let(:settings_missing_api_key){ {:host => "mandrillapp.com"} }
      let(:mailer_missing_api_key){ HttpMailer::ServiceHandler.new(settings_missing_api_key) }

      it 'returns false' do
        expect(mailer_with_no_settings.configured?).to be false
        expect(mailer_missing_host.configured?).to be false
        expect(mailer_missing_api_key.configured?).to be false
      end
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
http_mailer-1.0.0 spec/service_handler_spec.rb
http_mailer-0.0.5 spec/service_handler_spec.rb
http_mailer-0.0.4 spec/service_handler_spec.rb
http_mailer-0.0.3 spec/service_handler_spec.rb