Sha256: ae09b48d0de85ff3f566fb2b2794c5600917fda0bb3d38d310b9aebb62744a5d

Contents?: true

Size: 1.24 KB

Versions: 28

Compression:

Stored size: 1.24 KB

Contents

require 'spec_helper'
require 'doorkeeper/request/strategy'

module Doorkeeper
  module Request
    describe Strategy do
      let(:server) { double }
      subject(:strategy) { Strategy.new(server) }

      describe :initialize do
        it "sets the server attribute" do
          expect(strategy.server).to eq server
        end
      end

      describe :request do
        it "requires an implementation" do
          expect { strategy.request }.to raise_exception NotImplementedError
        end
      end

      describe "a sample Strategy subclass" do
        let(:fake_request) { double }

        let(:strategy_class) do
          subclass = Class.new(Strategy) do
            class << self
              attr_accessor :fake_request
            end

            def request
              self.class.fake_request
            end
          end

          subclass.fake_request = fake_request
          subclass
        end

        subject(:strategy) { strategy_class.new(server) }

        it "provides a request implementation" do
          expect(strategy.request).to eq fake_request
        end

        it "authorizes the request" do
          expect(fake_request).to receive :authorize
          strategy.authorize
        end
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 3 rubygems

Version Path
doorkeeper-mongodb-4.2.0 spec/lib/request/strategy_spec.rb
doorkeeper-sequel-1.5.0 spec/lib/request/strategy_spec.rb
doorkeeper-4.4.3 spec/lib/request/strategy_spec.rb
doorkeeper-4.4.2 spec/lib/request/strategy_spec.rb
doorkeeper-4.4.1 spec/lib/request/strategy_spec.rb
doorkeeper-4.4.0 spec/lib/request/strategy_spec.rb
doorkeeper-mongodb-4.1.0 spec/lib/request/strategy_spec.rb
doorkeeper-4.3.2 spec/lib/request/strategy_spec.rb
doorkeeper-4.3.1 spec/lib/request/strategy_spec.rb
doorkeeper-4.3.0 spec/lib/request/strategy_spec.rb
doorkeeper-sequel-1.4.0 spec/lib/request/strategy_spec.rb
doorkeeper-mongodb-4.0.1 spec/lib/request/strategy_spec.rb
doorkeeper-mongodb-4.0.0 spec/lib/request/strategy_spec.rb
doorkeeper-sequel-1.3.1 spec/lib/request/strategy_spec.rb
doorkeeper-sequel-1.3.0 spec/lib/request/strategy_spec.rb
doorkeeper-sequel-1.2.3 spec/lib/request/strategy_spec.rb
doorkeeper-sequel-1.2.2 spec/lib/request/strategy_spec.rb
doorkeeper-4.2.6 spec/lib/request/strategy_spec.rb
doorkeeper-4.2.5 spec/lib/request/strategy_spec.rb
doorkeeper-sequel-1.2.1 spec/lib/request/strategy_spec.rb