Sha256: 7bf2fe44c8f3fb63aceb4b051cf1bc2f995cff54eec34f909c6e822774cc8b33

Contents?: true

Size: 1.52 KB

Versions: 23

Compression:

Stored size: 1.52 KB

Contents

# encoding: utf-8
#
require 'spec_helper'

describe Picky::Indexes do

  context 'after initialize' do
    let(:indexes) { described_class.new }
    it 'has no indexes' do
      indexes.indexes.should == []
    end
  end

  describe 'methods' do
    let(:indexes) { described_class.new }
    before(:each) do
      @index1 = double :index1, :name => :index1
      @index2 = double :index2, :name => :index2
      indexes.register @index1
      indexes.register @index2
    end
    describe 'index' do
      it 'prepares and caches each' do
        scheduler = double :scheduler, :fork? => false, :finish => nil

        @index1.should_receive(:prepare).once.with(scheduler).ordered
        @index2.should_receive(:prepare).once.with(scheduler).ordered

        @index1.should_receive(:cache).once.with(scheduler).ordered
        @index2.should_receive(:cache).once.with(scheduler).ordered

        indexes.index scheduler
      end
    end
    describe 'register' do
      it 'should have indexes' do
        indexes.indexes.should == [@index1, @index2]
      end
    end
    describe 'clear_indexes' do
      it 'clears the indexes' do
        indexes.clear_indexes

        indexes.indexes.should == []
      end
    end
    def self.it_forwards_each name
      describe name do
        it "calls #{name} on each in order" do
          @index1.should_receive(name).once.with(no_args).ordered
          @index2.should_receive(name).once.with(no_args).ordered

          indexes.send name
        end
      end
    end
    it_forwards_each :clear
  end

end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
picky-4.27.1 spec/lib/indexes_indexing_spec.rb
picky-4.27.0 spec/lib/indexes_indexing_spec.rb
picky-4.26.2 spec/lib/indexes_indexing_spec.rb
picky-4.26.1 spec/lib/indexes_indexing_spec.rb
picky-4.26.0 spec/lib/indexes_indexing_spec.rb
picky-4.25.3 spec/lib/indexes_indexing_spec.rb
picky-4.25.2 spec/lib/indexes_indexing_spec.rb
picky-4.25.1 spec/lib/indexes_indexing_spec.rb
picky-4.25.0 spec/lib/indexes_indexing_spec.rb
picky-4.24.0 spec/lib/indexes_indexing_spec.rb
picky-4.23.2 spec/lib/indexes_indexing_spec.rb
picky-4.23.1 spec/lib/indexes_indexing_spec.rb
picky-4.23.0 spec/lib/indexes_indexing_spec.rb
picky-4.22.0 spec/lib/indexes_indexing_spec.rb
picky-4.21.2 spec/lib/indexes_indexing_spec.rb
picky-4.21.1 spec/lib/indexes_indexing_spec.rb
picky-4.21.0 spec/lib/indexes_indexing_spec.rb
picky-4.20.2 spec/lib/indexes_indexing_spec.rb
picky-4.20.1 spec/lib/indexes_indexing_spec.rb
picky-4.20.0 spec/lib/indexes_indexing_spec.rb