spec/omniauth/strategies/twitter_spec.rb in omniauth-twitter-0.0.17 vs spec/omniauth/strategies/twitter_spec.rb in omniauth-twitter-0.0.18
- old
+ new
@@ -1,13 +1,14 @@
require 'spec_helper'
describe OmniAuth::Strategies::Twitter do
subject do
- OmniAuth::Strategies::Twitter.new({})
+ args = ['appid', 'secret', @options || {}].compact
+ OmniAuth::Strategies::Twitter.new(*args)
end
- context 'client options' do
+ describe 'client options' do
it 'should have correct name' do
expect(subject.options.name).to eq('twitter')
end
it 'should have correct site' do
@@ -17,11 +18,38 @@
it 'should have correct authorize url' do
expect(subject.options.client_options.authorize_path).to eq('/oauth/authenticate')
end
end
+ describe 'image_size option' do
+ context 'when user has an image' do
+ it 'should return image with size specified' do
+ @options = { :image_size => 'original' }
+ subject.stub(:raw_info).and_return(
+ { 'profile_image_url' => 'http://twimg0-a.akamaihd.net/sticky/default_profile_images/default_profile_0_normal.png' }
+ )
+ expect(subject.info[:image]).to eq('http://twimg0-a.akamaihd.net/sticky/default_profile_images/default_profile_0.png')
+ end
+
+ it 'should return secure image with size specified' do
+ @options = { :secure_image_url => 'true', :image_size => 'mini' }
+ subject.stub(:raw_info).and_return(
+ { 'profile_image_url_https' => 'https://twimg0-a.akamaihd.net/sticky/default_profile_images/default_profile_0_normal.png' }
+ )
+ expect(subject.info[:image]).to eq('https://twimg0-a.akamaihd.net/sticky/default_profile_images/default_profile_0_mini.png')
+ end
+
+ it 'should return normal image by default' do
+ subject.stub(:raw_info).and_return(
+ { 'profile_image_url' => 'http://twimg0-a.akamaihd.net/sticky/default_profile_images/default_profile_0_normal.png' }
+ )
+ expect(subject.info[:image]).to eq('http://twimg0-a.akamaihd.net/sticky/default_profile_images/default_profile_0_normal.png')
+ end
+ end
+ end
+
describe 'request_phase' do
- context 'no request params set and x_auth_access_type specified' do
+ context 'with no request params set and x_auth_access_type specified' do
before do
subject.options[:request_params] = nil
subject.stub(:session).and_return(
{'omniauth.params' => {'x_auth_access_type' => 'read'}})
subject.stub(:old_request_phase).and_return(:whatever)