Sha256: 1b28a1df99a3e564948762c221f8de3e554f9f22a80232d5142cb18dcf1f539a

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

require 'spec_helper'
require 'complex_config/plugins/enable'

RSpec.describe ComplexConfig::Plugins do
  let :provider do
    ComplexConfig::Provider
  end

  let :settings do
    ComplexConfig::Settings[
      foo: {
        test_url:      'http://www.ping.de',
        cash_in_cents: 100.to_money.cents
      }
    ]
  end

  context described_class::URI do
    it 'can return an URL string' do
      expect(settings.foo.test_url).to eq 'http://www.ping.de'
    end

    it 'can return an URI' do
      expect(settings.foo.test_uri).to eq URI.parse('http://www.ping.de')
    end

    it 'can return an URI' do
      expect(settings.foo[:test_uri]).to eq URI.parse('http://www.ping.de')
    end

    it 'can skips if blub' do
      expect { settings.foo.nix_uri }.to raise_error(ComplexConfig::AttributeMissing)
    end
  end

  context described_class::MONEY do
    it 'can return a Fixnum' do
      expect(settings.foo.cash_in_cents).to eq 100_00
    end

    it 'can return a Money instance' do
      expect(settings.foo.cash).to eq 100.to_money
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
complex_config-0.22.2 spec/complex_config/plugins_spec.rb
complex_config-0.22.1 spec/complex_config/plugins_spec.rb