Sha256: 655afb298daffc10b2595b0d22be391ce94d28cbc94c0b97185ed33225038c18

Contents?: true

Size: 1.62 KB

Versions: 7

Compression:

Stored size: 1.62 KB

Contents

require 'spec_helper'
require 'howitzer/mailgun_api/connector'

RSpec.describe Howitzer::MailgunApi::Connector do
  let(:connector) { described_class.instance }
  let(:domain_name) { 'test@domain.com' }
  describe '#client' do
    subject { connector.client }
    context 'when api_key is default' do
      context 'when client is not initialized' do
        it { is_expected.to be_an_instance_of Howitzer::MailgunApi::Client }
      end
      context 'when client is already initialized' do
        it do
          object_id = connector.client.object_id
          expect(subject.object_id).to eq(object_id)
        end
      end
    end
    context 'when api_key is custom' do
      let(:key) { 'some api key' }
      subject { connector.client(key) }
      it { is_expected.to be_an_instance_of Howitzer::MailgunApi::Client }
    end
    context 'when api_key is nil' do
      let(:key) { nil }
      subject { connector.client(key) }
      it do
        expect { subject }.to raise_error(Howitzer::InvalidApiKeyError, 'Api key can not be blank')
      end
    end
    context 'when api_key is blank string' do
      let(:key) { '' }
      subject { connector.client(key) }
      it do
        expect { subject }.to raise_error(Howitzer::InvalidApiKeyError, 'Api key can not be blank')
      end
    end
  end
  describe '#domain' do
    subject { connector.domain }
    context 'when default domain' do
      it do
        is_expected.to eq(Howitzer.mailgun_domain)
      end
    end
    context 'when domain is already set' do
      before do
        connector.domain = domain_name
      end
      it { is_expected.to eql(domain_name) }
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
howitzer-2.2.0 spec/unit/lib/mailgun_api/connector_spec.rb
howitzer-2.1.1 spec/unit/lib/mailgun_api/connector_spec.rb
howitzer-2.1.0 spec/unit/lib/mailgun_api/connector_spec.rb
howitzer-2.0.3 spec/unit/lib/mailgun_api/connector_spec.rb
howitzer-2.0.2 spec/unit/lib/mailgun_api/connector_spec.rb
howitzer-2.0.1 spec/unit/lib/mailgun_api/connector_spec.rb
howitzer-2.0.0 spec/unit/lib/mailgun_api/connector_spec.rb