Sha256: df0719623d7ce40e6970dd2dab15411d0e8189c7656a8ebb7f4e4a8cf603ec02

Contents?: true

Size: 1.87 KB

Versions: 11

Compression:

Stored size: 1.87 KB

Contents

require 'pact_broker/pacts/metadata'

module PactBroker
  module Pacts
    module Metadata
      describe "#build_metadata_for_pact_for_verification" do
        let(:selectors) do
          Selectors.new([ResolvedSelector.new({ latest: true, consumer: "consumer", tag: "tag" }, consumer_version)])
        end
        let(:consumer_version) { double('version', number: "2") }
        let(:verifiable_pact) { double('PactBroker::Pacts::VerifiablePact', wip: wip, selectors: selectors) }
        let(:wip) { false }

        subject { Metadata.build_metadata_for_pact_for_verification(verifiable_pact) }

        it "builds the metadata with the resolved selectors" do
          expect(subject).to eq({
            "s" => [
              {
                "l" => true,
                "t" => "tag",
                "cvn" => "2"
              }
            ]
          })
        end

        context "when wip is true" do
          let(:wip) { true }

          it { is_expected.to eq "w" => true }

        end
      end

      describe "parse_metadata" do
        let(:incoming_metadata) do
          {
            "cvn" => "2",
            "cvt" => ["tag"],
            "w" => true,
            "s" => [
              {
                "l" => true,
                "t" => "tag",
                "cvn" => "2"
              }
            ]
          }
        end

        let(:parsed_metadata) do
          {
            :consumer_version_number => "2",
            :consumer_version_tags => ["tag"],
            :wip => true,
            :consumer_version_selectors => [
              {
                :latest => true,
                :tag => "tag",
                :consumer_version_number => "2"
              }
            ]
          }
        end

        it "expands the key names" do
          expect(Metadata.parse_metadata(incoming_metadata)).to eq parsed_metadata
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pact_broker-2.79.1 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.79.0 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.78.1 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.78.0 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.77.0 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.76.2 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.76.1 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.76.0 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.75.0 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.74.1 spec/lib/pact_broker/pacts/metadata_spec.rb
pact_broker-2.74.0 spec/lib/pact_broker/pacts/metadata_spec.rb