Sha256: 9ca684193fd4644942a91bb721e1922551297713997a4fa9396c01e8a6fc3be7
Contents?: true
Size: 1.62 KB
Versions: 1
Compression:
Stored size: 1.62 KB
Contents
require 'spec_helper' describe DataMapper::Adapters::FqlAdapter do let(:adapter) { DataMapper.setup(:default, :adapter => :fql) } let(:repository) { DataMapper.repository(adapter.name) } subject { adapter } context 'when setting up with an options hash' do subject { DataMapper.setup(:default, :adapter => :fql, :access_token => 'abcdef' ) } its(:session) { should be_instance_of(MiniFB::OAuthSession) } end context 'when setting up with an existing session' do let(:session) { MiniFB::OAuthSession.new('token') } subject { DataMapper.setup(:default, :adapter => :fql, :session => session) } its(:session) { should be_equal(session) } end describe '#compile' do context 'when querying for a single resource' do let(:query) { DataMapper::Query.new(repository, User, :conditions => { :uid => 1 }) } subject { adapter.compile(query) } it { should == "select uid, name from user where uid = 1" } end end describe '#read' do let(:session) { mock(MiniFB::OAuthSession) } let(:adapter) { DataMapper.setup(:default, :adapter => :fql, :session => session) } context 'when querying for a single resource' do let(:query) { mock(DataMapper::Query) } let(:fql) { 'select uid, name from user where uid = 1' } subject { adapter.read(query) } before do adapter.should_receive(:compile).with(query).and_return(fql) session.should_receive(:fql).with(fql).and_return([Hashie::Mash.new({:uid => 1, :name => 'Gabor Ratky'})]) end it { should == [ { 'uid' => 1, 'name' => 'Gabor Ratky' }]} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dm-fql-adapter-0.1.0 | spec/adapter_spec.rb |