Sha256: 32a9cd9183759f61f9b97d19d87580486248c148392289150f4fca3bb1f14f94

Contents?: true

Size: 968 Bytes

Versions: 2

Compression:

Stored size: 968 Bytes

Contents

RSpec.describe Dry::Configurable::Config::Value do
  let(:klass) { Dry::Configurable::Config::Value }
  let(:config) { klass.new(name, value, processor) }
  let(:name) { :db }
  let(:value) { 'test' }
  let(:processor) { ->(v) { v }}

  describe '#name' do
    subject! { config.name }

    it { is_expected.to eq(name) }
  end

  describe '#value' do
    subject! { config.value }

    context 'when value is not NONE' do
      it { is_expected.to eq(value) }
    end

    context 'when value is NONE' do
      let(:value) { klass::NONE }

      it { is_expected.to be(nil) }
    end
  end

  describe '#processor' do
    subject! { config.processor }

    it { is_expected.to eq(processor) }
  end

  describe '#none?' do
    subject! { config.none? }

    context 'when value is not NONE' do
      it { is_expected.to be(false) }
    end

    context 'when value is NONE' do
      let(:value) { klass::NONE }

      it { is_expected.to be(true) }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-configurable-0.4.0 spec/unit/dry/configurable/config/value_spec.rb
dry-configurable-0.3.0 spec/unit/dry/configurable/config/value_spec.rb