Skip to content

Instantly share code, notes, and snippets.

@revelation
Created November 5, 2008 17:47
Show Gist options
  • Save revelation/22385 to your computer and use it in GitHub Desktop.
Save revelation/22385 to your computer and use it in GitHub Desktop.
def supported_by(*adapters)
adapters = get_adapters(*adapters)
PRIMARY.only(*adapters).each do |adapter, connection_uri|
# keep track of the current adapters
AdapterHelpers.current_adapters << adapters
message = "with #{adapter}" if adapters.length > 1
with_adapter_spec_wrapper(message) do
before(:each) do
# store these in instance vars for the shared adapter specs
@adapter = DataMapper.setup(:default, connection_uri)
@repository = repository(:default)
begin
DataMapper.auto_migrate!
rescue NotImplementedError
# do nothing when not supported
end
end
yield adapter
end
AdapterHelpers.current_adapters.pop
end
end
describe "#read_one" do
before do
@return = @adapter.read_one(DataMapper::Query.new(@repository, @model, :id => 1))
end
it "should return a DataMapper::Resource" do
@return.should be_a_kind_of(@model)
end
it "should return nil when no resource was found" do
@adapter.read_one(DataMapper::Query.new(@repository, @model, :id => nil)).should be_nil
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment