diff options
Diffstat (limited to 'spec/concerns/configurable_spec.rb')
| -rw-r--r-- | spec/concerns/configurable_spec.rb | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/spec/concerns/configurable_spec.rb b/spec/concerns/configurable_spec.rb new file mode 100644 index 000000000..822f572c1 --- /dev/null +++ b/spec/concerns/configurable_spec.rb @@ -0,0 +1,31 @@ +RSpec.describe Configurable do + +  subject do +    Class.new do +      include Configurable +    end +  end + +  let( :something ){ double('something') } + +  it 'can be configured' do +    expect{ subject.config.anything }.to raise_error(NoMethodError) + +    subject.config.something = something + +    expect( subject.config.something ).to eq(something) +    expect( subject.new.send(:config).something ).to eq(something) +    expect( subject.new.send(:config).something ).to eq(something) +  end + +  it 'can be configured with a block' do + +    subject.config do | c | +      c.something = something  +    end + +    expect( subject.config.something ).to eq(something) +    expect( subject.new.send(:config).something ).to eq(something) +    expect( subject.new.send(:config).something ).to eq(something) +  end +end | 
