Sha256: 538b9fd231a8e030d09c6a6982a4d2b2845d6f7ccceba2a68bc35ae45a09b483

Contents?: true

Size: 1.99 KB

Versions: 12

Compression:

Stored size: 1.99 KB

Contents

require "pact_broker/api/decorators/publish_contracts_results_decorator"
require "pact_broker/contracts/contracts_publication_results"
require "pact_broker/contracts/notice"

module PactBroker
  module Api
    module Decorators
      describe PublishContractsResultsDecorator do
        describe "to_hash" do
          before do
            allow(decorator).to receive(:version_url).and_return("version_url")
            allow(decorator).to receive(:tag_url).and_return("tag_url")
            allow(decorator).to receive(:pact_url).and_return("pact_url")
            allow(decorator).to receive(:pacticipant_url).and_return("pacticipant_url")
            allow(version).to receive(:pacticipant).and_return(pacticipant)
            allow(tag).to receive(:version).and_return(version)
          end

          let(:results) do
            PactBroker::Contracts::ContractsPublicationResults.from_hash(
              notices: notices,
              pacticipant: pacticipant,
              version: version,
              contracts: contracts,
              tags: tags
            )
          end
          let(:contracts) { [pact] }
          let(:pact) { instance_double(PactBroker::Domain::Pact, name: "pact name") }
          let(:pacticipant) { PactBroker::Domain::Pacticipant.new(name: "Foo" ) }
          let(:tags) { [tag]}
          let(:tag) { PactBroker::Domain::Tag.new(name: "main")}
          let(:version) { PactBroker::Domain::Version.new(number: "1" ) }
          let(:notices) { [PactBroker::Contracts::Notice.warning("foo") ] }
          let(:decorator_options) { { user_options: user_options } }
          let(:user_options) do
            {
              base_url: "http://example.org"
            }
          end

          let(:decorator) { PublishContractsResultsDecorator.new(results) }

          subject { decorator.to_hash(decorator_options) }

          it {
            Approvals.verify(subject, :name => "publish_contracts_results_decorator", format: :json)
          }
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pact_broker-2.89.1 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.89.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.88.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.87.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.86.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.85.1 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.85.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.84.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.83.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.82.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.81.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb
pact_broker-2.80.0 spec/lib/pact_broker/api/decorators/publish_contracts_results_decorator_spec.rb