Sha256: 8c108cc5b436aa32661c9bab0838457b528edab19e63471008f670e2e5c6d306

Contents?: true

Size: 1.53 KB

Versions: 35

Compression:

Stored size: 1.53 KB

Contents

require 'spec_helper'

describe Picky::Sources::Mongo do
  
  describe 'key_format' do
    context 'default' do
      let(:source) { described_class.new(:a, :b, :url => 'someurl', :db => 'somedb') }
      it 'is correct' do
        source.key_format.should == :to_sym
      end
    end

    context 'non-default' do
      let(:source) { described_class.new(:a, :b, :url => 'bla', :db => 'somedb', :key_format => 'some_key_method') }
      it 'is correct' do
        source.key_format.should == :some_key_method
      end
    end
  end
  
  describe 'to_s' do
     let(:source) { described_class.new(:a, :b, :url => 'someurl', :db => 'somedb') }
     it 'is correct' do
       source.to_s.should == 'Picky::Sources::Mongo'
     end
   end
   
   context "without database" do
     it "should fail correctly" do
       lambda { @source = described_class.new(:a, :b, :url => 'someurl') }.should raise_error(described_class::NoDBGiven)
     end
   end

   context "with database" do
     before(:each) do
       @source = described_class.new :a, :b, :url => 'someurl', :db => 'somedb'
       RestClient::Request.should_receive(:execute).any_number_of_times.and_return %{{"rows":[{"_id":"7f","a":"a data","b":"b data","c":"c data"}]}}
     end

     describe "harvest" do
       it "yields the right data" do
         category = stub :b, :from => :b, :index_name => :some_index_name
         @source.harvest category do |id, token|
           id.should    eql('7f') 
           token.should eql('b data')
         end.should have(1).item
       end
     end
   end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
picky-3.5.4 spec/lib/sources/mongo_spec.rb
picky-3.5.3 spec/lib/sources/mongo_spec.rb
picky-3.5.2 spec/lib/sources/mongo_spec.rb
picky-3.5.1 spec/lib/sources/mongo_spec.rb
picky-3.5.0 spec/lib/sources/mongo_spec.rb
picky-3.4.3 spec/lib/sources/mongo_spec.rb
picky-3.4.2 spec/lib/sources/mongo_spec.rb
picky-3.4.1 spec/lib/sources/mongo_spec.rb
picky-3.4.0 spec/lib/sources/mongo_spec.rb
picky-3.3.3 spec/lib/sources/mongo_spec.rb
picky-3.3.2 spec/lib/sources/mongo_spec.rb
picky-3.3.1 spec/lib/sources/mongo_spec.rb
picky-3.3.0 spec/lib/sources/mongo_spec.rb
picky-3.2.0 spec/lib/sources/mongo_spec.rb
picky-3.1.13 spec/lib/sources/mongo_spec.rb
picky-3.1.12 spec/lib/sources/mongo_spec.rb
picky-3.1.11 spec/lib/sources/mongo_spec.rb
picky-3.1.10 spec/lib/sources/mongo_spec.rb
picky-3.1.9 spec/lib/sources/mongo_spec.rb
picky-3.1.8 spec/lib/sources/mongo_spec.rb