Sha256: 9fc4a376f9eb236947e9b4cd9a3e94682b2d3091f0a5f397a1f6f4cbd9e581c2

Contents?: true

Size: 1.52 KB

Versions: 20

Compression:

Stored size: 1.52 KB

Contents

require 'spec_helper'
require 'pact_broker/api/decorators/versions_decorator'
require 'pact_broker/domain/version'

module PactBroker
  module Api
    module Decorators
      describe VersionsDecorator do

        let(:options) { { resource_url: 'http://versions', base_url: 'http://example.org', pacticipant_name: "Consumer", query_string: query_string}}
        let(:query_string) { nil }
        let(:versions) { [] }

        subject { JSON.parse VersionsDecorator.new(versions).to_json(user_options: options), symbolize_names: true }

        context "with no query string" do
          its([:_links, :self, :href]) { is_expected.to eq 'http://versions' }
        end

        context "with a query string" do
          let(:query_string) { 'foo=bar' }
          its([:_links, :self, :href]) { is_expected.to eq 'http://versions?foo=bar' }
        end

        context "with no versions" do
          it "doesn't blow up" do
            subject
          end
        end

        context "with versions" do
          let!(:version) do
            TestDataBuilder.new
              .create_consumer("Consumer")
              .create_consumer_version("1.2.3")
              .create_consumer_version_tag("prod")
              .and_return(:consumer_version)
          end
          let(:versions) { [version] }

          it "displays a list of versions" do
            expect(subject[:_embedded][:versions]).to be_instance_of(Array)
            expect(subject[:_embedded][:versions].size).to eq 1
          end
        end
      end
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

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