specs/lib/fbauth/base_spec.rb in fbgraph-0.0.4 vs specs/lib/fbauth/base_spec.rb in fbgraph-0.0.5
- old
+ new
@@ -1,109 +1,219 @@
\ No newline at end of file
+require File.join(File.dirname(__FILE__),"../../../lib/fbgraph")
+
+describe FBGraph do
+ describe FBGraph::Authorization do
+
+ before :each do
+ @client_id = 'client_id'
+ @secret_id = 'secret_id'
+ @client = FBGraph::Client.new(:client_id => @client_id,
+ :secret_id => @secret_id,
+ :token => 'token')
+ @base = FBGraph::Base.new(@client)
+ end
+
+ describe 'initialization' do
+ it 'should set the client' do
+ @base.instance_variable_get("@client").should == @client
+ end
+ it 'should params be empty' do
+ @base.params.should be_empty
+ end
+ end
+
+ describe "instance methods" do
+ describe 'find' do
+ it 'should objects set with "id"' do
+ @base.find('id').objects.should == 'id'
+ end
+ end
+
+ describe 'connection' do
+ it 'should set connection_type to "type"' do
+ @base.connection('type').connection_type.should == 'type'
+ end
+ end
+
+ describe 'params=' do
+ it 'should set params to {:fields => "fields"}' do
+ @base.params = {:fields => "fields"}
+ @base.params.should == {:fields => "fields"}
+ end
+ end
+
+ describe 'params' do
+ it 'should return params' do
+ @base.params = {:fields => "fields"}
+ @base.params.should == {:fields => "fields"}
+ end
+ end
+
+ describe 'param' do
+ it 'should merge the passed param' do
+ @base.params = {:fields => "fields"}
+ @base.param(:merged => true)
+ @base.params.should == {:fields => "fields" , :merged => true}
+ end
+ end
+
+ describe 'info!' do
+ describe 'when object is an array' do
+ it 'should request with the path "/?ids=1,2,3"' do
+ uri = "/?ids?=1,2,3"
+ @base.find([1,2,3])
+ @client.consumer.stub!(:get).with(uri).and_return('')
+ @base.info!(false)
+ end
+ end
+
+ describe 'when object is a string' do
+
+ it 'should request with the path "/123"' do
+ uri = "/123"
+ @base.find('123')
+ @client.consumer.stub!(:get).with(uri).and_return('')
+ @base.info!(false)
+ end
+
+ describe 'when a connection is passed' do
+ it 'should request with the path "/123/home"' do
+ uri = "/123/home"
+ @base.find('123').connection('home')
+ @client.consumer.stub!(:get).with(uri).and_return('')
+ @base.info!(false)
+ end
+ end
+
+ describe 'when params are passed' do
+ it 'should request with the path "/123?fields=name,picture"' do
+ uri = "/123?fields=name,picture"
+ @base.find('123')
+ @base.params = {:fields => "name,picture"}
+ @client.consumer.stub!(:get).with(uri).and_return('')
+ @base.info!(false)
+ end
+ end
+ end
+ end
+
+ describe 'publish!' do
+
+ end
+
+ describe 'delete!' do
+
+ end
+
+ end
+
+ end
+end