Sha256: a2006bf2a9389645df563551f4f24b4c269ad09d970c8928014e107584b5b8ca

Contents?: true

Size: 1.19 KB

Versions: 12

Compression:

Stored size: 1.19 KB

Contents

require 'pact_broker/api/resources/base_resource'

module PactBroker
  module Api
    module Resources
      describe BaseResource do
        let(:request) { double('request', uri: uri).as_null_object }
        let(:response) { double('response') }
        let(:uri) { URI('http://example.org/path?query') }

        subject { BaseResource.new(request, response) }

        its(:resource_url) { is_expected.to eq 'http://example.org/path' }

        describe "options" do
          subject { options "/"; last_response }

          it "returns a list of allowed methods" do
            expect(subject.headers['Access-Control-Allow-Methods']).to eq "GET, OPTIONS"
          end
        end
      end

      ALL_RESOURCES = ObjectSpace.each_object(::Class).select {|klass| klass < BaseResource }

      ALL_RESOURCES.each do | resource |
        describe resource do
          let(:request) { double('request', uri: URI("http://example.org")).as_null_object }
          let(:response) { double('response') }

          it "includes OPTIONS in the list of allowed_methods" do
            expect(resource.new(request, response).allowed_methods).to include "OPTIONS"
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pact_broker-2.40.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.39.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.38.1 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.38.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.37.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.36.1 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.36.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.35.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.34.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.33.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.32.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb
pact_broker-2.31.0 spec/lib/pact_broker/api/resources/base_resource_spec.rb