spec/helper.rb in adapter-mongo-0.5.5 vs spec/helper.rb in adapter-mongo-0.5.6

- old
+ new

@@ -1,63 +1,17 @@ $:.unshift(File.expand_path('../../lib', __FILE__)) +$:.unshift(File.expand_path('../', __FILE__)) require 'rubygems' require 'bundler' Bundler.require(:default, :test) require 'adapter/spec/an_adapter' require 'adapter/spec/types' require 'adapter-mongo' -shared_examples_for "a mongo adapter" do - it_should_behave_like 'an adapter' - - Adapter::Spec::Types.each do |type, (key, key2)| - it "writes Object values to keys that are #{type}s like a Hash" do - adapter[key] = {:foo => :bar} - # mongo knows hashes and can serialize symbol values - adapter[key].should == {'_id' => 'key', 'foo' => :bar} - end - end - - it "allows using object id's as keys in correct type" do - id = BSON::ObjectId.new - adapter.write(id, 'ham') - client.find_one('_id' => id).should_not be_nil - adapter.read(id).should == 'ham' - end - - it "stores hashes right in document" do - adapter.write('foo', 'steak' => 'bacon') - client.find_one('_id' => 'foo').should == {'_id' => 'foo', 'steak' => 'bacon'} - end - - describe "with safe option" do - before do - client.ensure_index([['email', 1]], :unique => true) - @adapter = Adapter[adapter_name].new(client, :safe => true) - end - - after do - client.drop_index('email_1') - end - - it "does not raise operation failure on write if operation succeeds" do - adapter.write(BSON::ObjectId.new, {'email' => 'john@orderedlist.com'}) - lambda { - adapter.write(BSON::ObjectId.new, {'email' => 'steve@orderedlist.com'}) - }.should_not raise_error(Mongo::OperationFailure) - end - - it "raises operation failure on write if operation fails" do - adapter.write(BSON::ObjectId.new, {'email' => 'john@orderedlist.com'}) - lambda { - adapter.write(BSON::ObjectId.new, {'email' => 'john@orderedlist.com'}) - }.should raise_error(Mongo::OperationFailure) - end - end -end +require 'support/shared_mongo_adapter' RSpec.configure do |c| end