specs/lib/fbauth/authorization_spec.rb in fbgraph-0.0.4 vs specs/lib/fbauth/authorization_spec.rb in fbgraph-0.0.5

- old
+ new

@@ -1,45 +1,91 @@ \ 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) + @authorization = FBGraph::Authorization.new(@client) + end + + describe 'initialization' do + it 'should set the client' do + @authorization.instance_variable_get("@client").should == @client + end + end + + describe "instance methods" do + describe '.authorize_url' do + it 'should return the authorization url' do + @authorization.authorize_url(:redirect_uri => 'redirect/to/path' , + :scope => 'email,user_photos,friends_photos').should == "https://graph.facebook.com/oauth/authorize?scope=email%2Cuser_photos%2Cfriends_photos&client_id=client_id&type=web_server&redirect_uri=redirect%2Fto%2Fpath" + end + end + describe "process_callback" do + before :each do + @consumer = mock('Consumer' , :token => 'code') + options = {:redirect_uri => 'redirect/to/path'} + @client.stub!(:oauth_client) + @client.oauth_client.stub!(:web_server) + @client.oauth_client.web_server.stub!(:get_access_token).with(@consumer.token, options).and_return(@consumer) + @token = @authorization.process_callback(@consumer.token, options) + end + it 'should return the access_token' do + @token.should == @consumer.token + end + it 'should set the consumer' do + @client.consumer.should == @consumer + end + end + end + + end +end