Sha256: f74215477b15d27817f69414f4f0bd3ac188e0c01be4cdd42d1ae212b19379d7

Contents?: true

Size: 1.01 KB

Versions: 54

Compression:

Stored size: 1.01 KB

Contents

require 'rails_helper'

shared_examples_for :publishable do
  let(:model) { described_class }
  let(:klass) { model.to_s.underscore.to_sym }
  let(:instance) { build(klass) }

  describe 'scopes' do
    before(:each) do
      @a = create(klass, published_at: 3.days.from_now)
      @b = create(klass, published_at: 1.day.ago)
      @c = create(klass, published_at: 3.days.ago)
    end

    it(:published) { expect(model.published).to eq [@b, @c] }
    it(:not_published) { expect(model.not_published).to eq [@a] }
  end

  describe 'defaults' do
    it(:published_at) { expect(instance).not_to be_published }
  end

  it '#publish!' do
    instance.publish!
    expect(instance).to be_published
  end

  it '#unpublish!' do
    instance.published_at = Time.zone.now
    instance.unpublish!
    expect(instance).to be_unpublished
  end

  it '.respond_to?' do
    expect(model).to respond_to(:published, :not_published)
  end

  it '#respond_to?' do
    expect(model.new).to respond_to(:publish!, :unpublish!, :published?)
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
udongo-7.9.0 spec/support/concerns/publishable.rb
udongo-7.8.1 spec/support/concerns/publishable.rb
udongo-7.8.0 spec/support/concerns/publishable.rb
udongo-7.7.2 spec/support/concerns/publishable.rb
udongo-7.7.1 spec/support/concerns/publishable.rb
udongo-7.7.0 spec/support/concerns/publishable.rb
udongo-7.6.2 spec/support/concerns/publishable.rb
udongo-7.6.1 spec/support/concerns/publishable.rb
udongo-7.6.0 spec/support/concerns/publishable.rb
udongo-7.5.1 spec/support/concerns/publishable.rb
udongo-7.5.0 spec/support/concerns/publishable.rb
udongo-7.4.2 spec/support/concerns/publishable.rb
udongo-7.4.1 spec/support/concerns/publishable.rb
udongo-7.4.0 spec/support/concerns/publishable.rb
udongo-7.3.5 spec/support/concerns/publishable.rb
udongo-7.3.4 spec/support/concerns/publishable.rb
udongo-7.3.3 spec/support/concerns/publishable.rb
udongo-7.3.2 spec/support/concerns/publishable.rb
udongo-7.3.1 spec/support/concerns/publishable.rb
udongo-7.2.1 spec/support/concerns/publishable.rb