spec/lib/internals/indexing/index_spec.rb in picky-2.1.2 vs spec/lib/internals/indexing/index_spec.rb in picky-2.2.0

- old
+ new

@@ -4,29 +4,65 @@ context "with categories" do before(:each) do @source = stub :some_source - @categories = stub :categories - - @index = described_class.new :some_name, @source + @index = described_class.new :some_name, source: @source @index.define_category :some_category_name1 @index.define_category :some_category_name2 - - @index.stub! :categories => @categories end + describe "raise_no_source" do + it "should raise" do + lambda { @index.raise_no_source }.should raise_error(NoSourceSpecifiedException) + end + end + describe 'define_source' do + it 'can be set with this method' do + @index.define_source :some_other_source + + @index.source.should == :some_other_source + end + end describe "generate_caches" do it "delegates to each category" do - @categories.should_receive(:generate_caches).once.with + category1 = stub :category1 + category2 = stub :category2 + @index.stub! :categories => [category1, category2] + + category1.should_receive(:generate_caches).once.ordered.with + category2.should_receive(:generate_caches).once.ordered.with + @index.generate_caches end end + describe 'find' do + context 'no categories' do + it 'raises on none existent category' do + expect do + @index.find :some_non_existent_name + end.to raise_error(%Q{Index category "some_non_existent_name" not found. Possible categories: "some_category_name1", "some_category_name2".}) + end + end + context 'with categories' do + before(:each) do + @index.define_category :some_name, :source => stub(:source) + end + it 'returns it if found' do + @index.find(:some_name).should_not == nil + end + it 'raises on none existent category' do + expect do + @index.find :some_non_existent_name + end.to raise_error(%Q{Index category "some_non_existent_name" not found. Possible categories: "some_category_name1", "some_category_name2", "some_name".}) + end + end + end end context "no categories" do it "works" do - described_class.new :some_name, @source + described_class.new :some_name, source: @source end end end \ No newline at end of file