diff --git a/lib/pact/consumer_contract/request.rb b/lib/pact/consumer_contract/request.rb index 3efe06d..16a157c 100644 --- a/lib/pact/consumer_contract/request.rb +++ b/lib/pact/consumer_contract/request.rb @@ -6,7 +6,7 @@ module Request class Expected < Pact::Request::Base DEFAULT_OPTIONS = {:allow_unexpected_keys => false}.freeze - attr_accessor :options #Temporary hack + attr_accessor :options, :generators def self.from_hash(hash) sym_hash = symbolize_keys hash @@ -16,11 +16,13 @@ def self.from_hash(hash) headers = sym_hash.fetch(:headers, key_not_found) body = sym_hash.fetch(:body, key_not_found) options = sym_hash.fetch(:options, {}) - new(method, path, headers, body, query, options) + generators = sym_hash.fetch(:generators, {}) + new(method, path, headers, body, query, options, generators) end - def initialize(method, path, headers, body, query, options = {}) + def initialize(method, path, headers, body, query, options = {}, generators = {}) super(method, path, headers, body, query) + @generators = generators @options = options end diff --git a/spec/lib/pact/consumer_contract/request_spec.rb b/spec/lib/pact/consumer_contract/request_spec.rb index 29f88e8..baca267 100644 --- a/spec/lib/pact/consumer_contract/request_spec.rb +++ b/spec/lib/pact/consumer_contract/request_spec.rb @@ -48,8 +48,9 @@ module Pact describe "matching to actual requests" do - subject { Request::Expected.new(expected_method, expected_path, expected_headers, expected_body, expected_query, options) } + subject { Request::Expected.new(expected_method, expected_path, expected_headers, expected_body, expected_query, options, generators) } let(:options) { {} } + let(:generators) { {} } let(:expected_method) { 'get' } let(:expected_path) { '/foo' }