Sha256: a9563cacbeba633e685558a422f056a1086433471280845abedf8585ccb31808

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

require 'spec_helper'

describe SimpleDecorator::Plug do
  subject do
    Dummy.new
  end

  context 'when has a decorator' do
    describe '.decorator' do
      it 'gets decorator class' do
        expect(Dummy.decorator).to eq DummyDecorator
      end
    end

    describe '.decorated?' do
      it { expect(Dummy.decorated?).to be_truthy }
    end

    describe '#decorator' do
      it 'returns a decorator instance' do
        expect(subject.decorator).to be_a DummyDecorator
      end
    end

    describe '#decorated?' do
      it { expect(subject.decorated?).to be_truthy }
    end
  end

  context 'when has no decorator' do
    before do
      class DummyOther
        include SimpleDecorator::Plug
       end
    end

    subject do
      DummyOther.new
    end

    describe '.decorator' do
      it { expect(DummyOther.decorator).to be_nil }
    end

    describe '.decorated?' do
      it { expect(DummyOther.decorated?).to be_falsey }
    end

    describe '#decorator' do
      it { expect(subject.decorator).to be_nil }
    end

    describe '#decorated?' do
      it { expect(subject.decorated?).to be_falsey }
    end
  end
end

class Dummy
  include SimpleDecorator::Plug
end

class DummyDecorator < SimpleDecorator::Base
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
unico-training-7.8.0 spec/lib/simple_decorator/plug_spec.rb