Sha256: cd65604ef7f50f60b589d0a25cf89596af0fc552c637c18fabe53879e419e6fa

Contents?: true

Size: 630 Bytes

Versions: 8

Compression:

Stored size: 630 Bytes

Contents

require 'spec_helper'

describe Draper, '.undecorate_chain' do
  let!(:object) { Model.new }
  let!(:decorated_inner) { Class.new(Draper::Decorator).new(object) }
  let!(:decorated_outer) { Class.new(Draper::Decorator).new(decorated_inner) }

  it 'undecorates full chain of decorated objects' do
    expect(Draper.undecorate_chain(decorated_outer)).to equal object
  end

  it 'passes a non-decorated object through' do
    expect(Draper.undecorate_chain(object)).to equal object
  end

  it 'passes a non-decorator object through' do
    object = Object.new
    expect(Draper.undecorate_chain(object)).to equal object
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
draper-4.0.4 spec/draper/undecorate_chain_spec.rb
draper-4.0.3 spec/draper/undecorate_chain_spec.rb
draper-4.0.2 spec/draper/undecorate_chain_spec.rb
draper-4.0.1 spec/draper/undecorate_chain_spec.rb
draper-4.0.0 spec/draper/undecorate_chain_spec.rb
draper-3.1.0 spec/draper/undecorate_chain_spec.rb
draper-3.0.1 spec/draper/undecorate_chain_spec.rb
draper-3.0.0 spec/draper/undecorate_chain_spec.rb