Sha256: 7d8979f82e5f05712b835c852e562f92a7f83f7889caedd7fe20d6f46d485a64

Contents?: true

Size: 723 Bytes

Versions: 2

Compression:

Stored size: 723 Bytes

Contents

require 'spec_helper'

RSpec.describe Fish0::Repository do
  let(:repository) { Fish0::Repository.new(collection: 'articles') }
  let(:scoped_repository) { Fish0::Repository.new(collection: 'articles') }

  describe '#scope' do
    before do
      scoped_repository.scope :by_slug, -> (slug) { where(slug: slug) }
    end

    it 'has no scoped method :by_slug for new repository' do
      expect(repository).not_to respond_to(:by_slug)
    end

    it 'has scoped method :by_slug for scoped repository' do
      expect(scoped_repository).to respond_to(:by_slug)
    end

    it 'returns self and therefore supports chaining' do
      expect(scoped_repository.by_slug('news')).to be_an(Fish0::Repository)
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
test_fish0-0.2.0 spec/lib/repository_spec.rb
fish0-0.2.0 spec/lib/repository_spec.rb