Sha256: 783c1aec59dce417374d1309fb430eab973c4ddb1dd1aa8fc0c81bff1d560299
Contents?: true
Size: 1.63 KB
Versions: 7
Compression:
Stored size: 1.63 KB
Contents
require 'test_helper' class IndexingTest < Test::Unit::TestCase context "Indexing" do setup do @document = Doc do key :first_name, String key :last_name, String key :age, Integer key :date, Date end end teardown { drop_indexes(@document) } [:create_index, :ensure_index, :drop_index, :drop_indexes].each do |method| should "delegate #{method} to collection" do @document.stubs(:collection).returns(mock(:name => :foo)) @document.collection.expects(method).with(:arg) @document.send(method, :arg) end end should "allow creating index for a key" do @document.ensure_index :first_name @document.should have_index('first_name_1') end should "allow creating unique index for a key" do @document.ensure_index :first_name, :unique => true @document.should have_index('first_name_1') end should "allow creating index on multiple keys" do @document.ensure_index [[:first_name, 1], [:last_name, -1]] # order is different for different versions of ruby so instead of # just checking have_index('first_name_1_last_name_-1') I'm checking # the values of the indexes to make sure the index creation was successful @document.collection.index_information.detect do |index| keys = index[0] keys.include?('first_name_1') && keys.include?('last_name_-1') end.should_not be_nil end should "work with :index shortcut when defining key" do silence_stderr { @document.key :father, String, :index => true } @document.should have_index('father_1') end end end
Version data entries
7 entries across 7 versions & 3 rubygems