Sha256: 8d66d0bf78e0ac845616faa32968bb5968d55f84714af98f360451d0e7a40b6a

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

require 'pact_broker/api/decorators/embedded_tag_decorator'
require 'pact_broker/tags/repository'
require 'support/test_data_builder'

module PactBroker

  module Api

    module Decorators

      describe EmbeddedTagDecorator do

        let(:tag) do
          TestDataBuilder.new
            .create_consumer("Consumer")
            .create_version("1.2.3")
            .create_tag("prod")
          PactBroker::Tags::Repository.new.find(tag_name: 'prod', pacticipant_version_number: '1.2.3', pacticipant_name: 'Consumer')
        end

        let(:options) { { user_options: { base_url: 'http://example.org' } } }

        subject { JSON.parse TagDecorator.new(tag).to_json(options), symbolize_names: true }

        it "includes the tag name" do
          expect(subject[:name]).to eq "prod"
        end

        it "includes a link to itself" do
          expect(subject[:_links][:self][:href]).to eq "http://example.org/pacticipants/Consumer/versions/1.2.3/tags/prod"
        end

        it "includes the tag name" do
          expect(subject[:_links][:self][:name]).to eq "prod"
        end

      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pact_broker-2.1.1 spec/lib/pact_broker/api/decorators/embedded_tag_decorator_spec.rb
pact_broker-2.1.0 spec/lib/pact_broker/api/decorators/embedded_tag_decorator_spec.rb