Sha256: 69a3981c19ae7b81771e6fa4dff431ab252ec743548b65ee8c6e7f13df13e2a0

Contents?: true

Size: 1.54 KB

Versions: 119

Compression:

Stored size: 1.54 KB

Contents

require 'spec/support/test_data_builder'

describe "Get diff between versions" do

  let(:path) { "/pacts/provider/Provider/consumer/Consumer/version/3/diff/previous-distinct" }

  let(:last_response_body) { subject.body }

  subject { get path; last_response }

  let(:pact_content_version_1) do
    hash = load_json_fixture('consumer-provider.json')
    hash['interactions'].first['request']['method'] = 'post'
    hash.to_json
  end
  let(:pact_content_version_2) { load_fixture('consumer-provider.json') }
  let(:pact_content_version_3) { pact_content_version_2 }

  before do
    TestDataBuilder.new
      .create_consumer("Consumer")
      .create_provider("Provider")
      .create_consumer_version("1")
      .create_pact(json_content: pact_content_version_1)
      .create_consumer_version("2")
      .create_pact(json_content: pact_content_version_2)
      .create_consumer_version("3")
      .create_pact(json_content: pact_content_version_3)
  end

  context "when the versions exist" do

    it "returns a 200 text response" do
      expect(subject.headers['Content-Type']).to eq "text/plain;charset=utf-8"
    end

    it "returns the JSON representation of the diff" do
      expect(last_response_body).to include('"method": "post"')
      expect(last_response_body).to include('"method": "get"')
    end

  end

  context "when either version does not exist" do

    let(:path) { "/pacts/provider/Provider/consumer/Consumer/versions/1/diff/previous-distinct" }

    it "returns a 404 response" do
      expect(subject).to be_a_404_response
    end

  end
end

Version data entries

119 entries across 119 versions & 1 rubygems

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