spec/lib/indexers/base_spec.rb in picky-2.6.0 vs spec/lib/indexers/base_spec.rb in picky-2.7.0
- old
+ new
@@ -1,16 +1,51 @@
require 'spec_helper'
describe Indexers::Base do
- let(:indexer) { described_class.new }
+ 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
+ end
+
describe 'index' do
it 'messages, then processed' do
- indexer.should_receive(:indexing_message).once.with.ordered
- indexer.should_receive(:process).once.with.ordered
+ indexer.should_receive(:start_indexing_message).once.with.ordered
+ indexer.should_receive(:prepare).once.with(:categories).ordered
+ indexer.should_receive(:process).once.with(:categories).ordered
+ indexer.should_receive(:finish_indexing_message).once.with.ordered
- indexer.index
+ indexer.index :categories
+ end
+ end
+
+ describe 'prepare' do
+ it 'calls a certain method on each category' do
+ some_index_or_category.stub! :source
+
+ category1 = stub :category1
+ category2 = stub :category2
+ category3 = stub :category3
+
+ categories = [category1, category2, category3]
+
+ categories.each do |category|
+ category.should_receive(:prepare_index_directory).once.with
+ end
+
+ indexer.prepare categories
end
end
end
\ No newline at end of file