Sha256: c4c841700ccefa48663ab29ec47f2e6a2403015524d044b2c1a92c706cb71f04

Contents?: true

Size: 1.61 KB

Versions: 80

Compression:

Stored size: 1.61 KB

Contents

require 'pact_broker/api/decorators/provider_pacts_decorator'

module PactBroker
  module Api
    module Decorators
      describe ProviderPactsDecorator do

        let(:pacts) { [pact]}
        let(:pact) do
          double('pact', name: 'Pact name', consumer_name: 'Foo')
        end
        let(:user_options) do
          {
            base_url: 'http://example.org',
            resource_url: 'http://example.org/provider-pacts',
            title: 'title',
            provider_name: 'foo'
          }
        end

        before do
          allow_any_instance_of(ProviderPactsDecorator).to receive(:pact_url).and_return('pact_url')
        end

        subject { JSON.parse ProviderPactsDecorator.new(pacts).to_json(user_options: user_options), symbolize_names: true }

        let(:expected) do
          {
            :_links => {
              :self=> {
                :href=> "http://example.org/provider-pacts",
                :title => "title"
              },
              :"pb:provider" => {
                :href => "http://example.org/pacticipants/foo",
                :name => "foo"
              },
              :"pb:pacts" =>[{
                :href => "pact_url",
                :title => "Pact name",
                :name => "Foo" }],
              :pacts => [{
                :href => "pact_url",
                :title => "DEPRECATED - please use the pb:pacts relation. Pact name",
                :name => "Foo"
                }
              ]
            }
          }
        end

        it "matches the expected JSON" do
          expect(subject).to match_pact(expected)
        end
      end
    end
  end
end

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
pact_broker-2.79.1 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.79.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.78.1 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.78.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.77.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.76.2 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.76.1 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.76.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.75.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.74.1 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.74.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.73.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.72.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.71.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.70.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.69.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.68.1 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.68.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.67.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb
pact_broker-2.66.0 spec/lib/pact_broker/api/decorators/provider_pacts_decorator_spec.rb