Sha256: 4aa50f23dc481ee9bbe446a55d7afdb910278d614e5a7b2f6f342e6800da62f5

Contents?: true

Size: 1.83 KB

Versions: 1

Compression:

Stored size: 1.83 KB

Contents

require 'spec_helper'

describe OmniAuth::Strategies::CreateSend do
  def app; lambda{|env| [200, {}, ["Hello."]]} end
  let(:fresh_strategy){ Class.new(OmniAuth::Strategies::CreateSend) }

  before do
    OmniAuth.config.test_mode = true
  end

  after do
    OmniAuth.config.test_mode = false
  end

  describe '#client' do
    subject{ fresh_strategy }

    it 'should have the correct createsend site' do
      instance = subject.new(app, {})
      instance.client.site.should eq("https://api.createsend.com")
    end

    it 'should have the correct authorization url' do
      instance = subject.new(app, {})
      instance.client.options[:authorize_url].should eq("/oauth")
    end

    it 'should have the correct token url' do
      instance = subject.new(app, {})
      instance.client.options[:token_url].should eq('/oauth/token')
    end
  end

  describe '#authorize_params' do
    subject { fresh_strategy }

    it 'should include the appropriate authorize params passed in the :authorize_params option' do
      instance = subject.new('abc', 'def', :authorize_params => {:scope => 'ViewReports,ImportSubscribers', :something => 'else', :state => '4321'})
      instance.authorize_params[:scope].should eq('ViewReports,ImportSubscribers')
    end

    it 'should include appropriate top-level options that are marked as :authorize_options' do
      instance = subject.new('abc', 'def', :authorize_options => [:scope], :scope => 'ViewReports,ImportSubscribers', :something => 'else', :authorize_params => {:state => '4321'})
      instance.authorize_params[:scope].should eq('ViewReports,ImportSubscribers')
    end
  end

  describe '#callback_path' do
    subject{ fresh_strategy }

    it 'should have the correct callback path' do
      instance = subject.new(app, {})
      instance.callback_path.should eq('/auth/createsend/callback')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
omniauth-createsend-1.0.2 spec/omniauth/strategies/createsend_spec.rb