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