Sha256: a61380dbe3927272e679946ead9a36f44d7b62ed17a821a44e7114e8738e2055

Contents?: true

Size: 1.03 KB

Versions: 22

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'

describe Dandelion::Adapter::Base do
  describe '#create_adapter' do
    it 'registers adapter classes' do
      class TestAdapter < Dandelion::Adapter::Base
        adapter :test
      end

      expect(Dandelion::Adapter::Base.create_adapter(:test)).to be_a(TestAdapter)
    end

    it 'raises error on invalid adapter' do
      expect {
        Dandelion::Adapter::Base.create_adapter(:another)
      }.to raise_error(Dandelion::Adapter::InvalidAdapterError)
    end

    it 'registers gem list' do
      class TestAdapter < Dandelion::Adapter::Base
        adapter :test
        requires_gems :foo, :bar
      end

      expect(TestAdapter.required_gems).to eq [:foo, :bar]
    end

    it 'catches load errors' do
      class TestAdapter < Dandelion::Adapter::Base
        adapter :test

        def initialize(options)
          raise LoadError
        end
      end

      expect {
        Dandelion::Adapter::Base.create_adapter(:test)
      }.to raise_error(Dandelion::Adapter::MissingDependencyError)
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
dandelion-0.6.0 spec/dandelion/adapter_spec.rb
dandelion-0.5.4 spec/dandelion/adapter_spec.rb
dandelion-0.5.3 spec/dandelion/adapter_spec.rb
dandelion-0.5.2 spec/dandelion/adapter_spec.rb
dandelion-0.5.1 spec/dandelion/adapter_spec.rb
dandelion-0.5.0 spec/dandelion/adapter_spec.rb
dandelion-0.4.17 spec/dandelion/adapter_spec.rb
dandelion-0.4.16 spec/dandelion/adapter_spec.rb
dandelion-0.4.15 spec/dandelion/adapter_spec.rb
dandelion-0.4.14 spec/dandelion/adapter_spec.rb
dandelion-0.4.10 spec/dandelion/adapter_spec.rb
dandelion-0.4.9 spec/dandelion/adapter_spec.rb
dandelion-0.4.8 spec/dandelion/adapter_spec.rb
dandelion-0.4.7 spec/dandelion/adapter_spec.rb
dandelion-0.4.6 spec/dandelion/adapter_spec.rb
dandelion-0.4.5 spec/dandelion/adapter_spec.rb
dandelion-0.4.4 spec/dandelion/adapter_spec.rb
dandelion-0.4.3 spec/dandelion/adapter_spec.rb
dandelion-0.4.2 spec/dandelion/adapter_spec.rb
dandelion-0.4.1 spec/dandelion/adapter_spec.rb