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)