Sha256: d3b2dc4f5a739cfb9113fe4583a51bec94de0eacc53326d34adbed8defb33694

Contents?: true

Size: 1.41 KB

Versions: 30

Compression:

Stored size: 1.41 KB

Contents

require 'spec_helper'

describe Picky::Indexers::Base do

  let(:some_index_or_category) { stub :some_index_or_category, :name => 'some_index_or_category' }
  let(:indexer) { described_class.new some_index_or_category }

  describe 'index_or_category' do
    it 'returns the right thing' do
      indexer.index_or_category.should == some_index_or_category
    end
  end

  describe 'source' do
    it 'delegates it to the index or category' do
      some_index_or_category.should_receive(:source).once.with

      indexer.source
    end
    it 'raises when none is there' do
      some_index_or_category.should_receive(:source).any_number_of_times.and_return nil

      indexer.stub! :process

      expect {
        indexer.prepare Picky::Categories.new
      }.to raise_error("Trying to index without a source for some_index_or_category.")
    end
  end

  describe 'prepare' do
    before(:each) do
      some_index_or_category.should_receive(:source).any_number_of_times.and_return :some_source
    end
    it 'processes' do
      categories = stub :categories, :empty => nil, :cache => nil

      indexer.should_receive(:process).once.with :some_source, categories, anything

      indexer.prepare categories
    end
    it 'calls the right methods on the categories' do
      indexer.stub! :process

      categories = stub :categories

      categories.should_receive(:empty).once.ordered

      indexer.prepare categories
    end
  end

end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
picky-4.12.1 spec/lib/indexers/base_spec.rb
picky-4.12.0 spec/lib/indexers/base_spec.rb
picky-4.11.3 spec/lib/indexers/base_spec.rb
picky-4.11.2 spec/lib/indexers/base_spec.rb
picky-4.11.1 spec/lib/indexers/base_spec.rb
picky-4.11.0 spec/lib/indexers/base_spec.rb
picky-4.10.0 spec/lib/indexers/base_spec.rb
picky-4.9.0 spec/lib/indexers/base_spec.rb
picky-4.8.1 spec/lib/indexers/base_spec.rb
picky-4.8.0 spec/lib/indexers/base_spec.rb
picky-4.7.0 spec/lib/indexers/base_spec.rb
picky-4.6.6 spec/lib/indexers/base_spec.rb
picky-4.6.5 spec/lib/indexers/base_spec.rb
picky-4.6.4 spec/lib/indexers/base_spec.rb
picky-4.6.3 spec/lib/indexers/base_spec.rb
picky-4.6.2 spec/lib/indexers/base_spec.rb
picky-4.6.1 spec/lib/indexers/base_spec.rb
picky-4.6.0 spec/lib/indexers/base_spec.rb
picky-4.5.12 spec/lib/indexers/base_spec.rb
picky-4.5.11 spec/lib/indexers/base_spec.rb