pact-support 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/pact/helpers.rb +33 -0
- data/lib/pact/support.rb +5 -1
- data/lib/pact/support/version.rb +1 -1
- data/spec/lib/pact/helpers_spec.rb +48 -0
- data/spec/lib/pact/support_spec.rb +9 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29ed91c9b2caf2bd2bee8e271b0c8b8279dca555
|
4
|
+
data.tar.gz: cd04946d224d0795354216e1a0fa0ebfe7f04fc6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de1d26bb0d8e86ea532afb67d1f2a721d02e3a52b5cc22e7818e1e867bf18c1bc43a3b2945af08dd5e039855154d9a5e92666d7129137bee1e28119cd9e785e2
|
7
|
+
data.tar.gz: 871db2f07690d2036e0df5d2914effd3bf1d7ba980d90e3c6dd74a4ca609db2cac60a6f025e49c0cc9fc618d819bc738149cfb77374136315fd4a8557fb41f8e
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@ Do this to generate your change history
|
|
2
2
|
|
3
3
|
git log --pretty=format:' * %h - %s (%an, %ad)'
|
4
4
|
|
5
|
+
### 0.5.0 (10 July 2015)
|
6
|
+
|
7
|
+
* 9451bf4 - Created helper methods for Pact::Term, SomethingLike and ArrayLike (Beth Skurrie, Fri Jul 10 11:44:45 2015 +1000)
|
8
|
+
|
5
9
|
### 0.4.4 (9 July 2015)
|
6
10
|
|
7
11
|
* 6d9be6e - Create no rules for exact matching (Beth Skurrie, Thu Jul 9 14:28:56 2015 +1000)
|
data/lib/pact/helpers.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'pact/something_like'
|
2
|
+
require 'pact/term'
|
3
|
+
require 'pact/array_like'
|
4
|
+
|
5
|
+
# Protected, exposed through Pact.term and Pact.like, and included in Pact::Consumer::RSpec
|
6
|
+
|
7
|
+
module Pact
|
8
|
+
module Helpers
|
9
|
+
|
10
|
+
def self.included(base)
|
11
|
+
base.extend(self)
|
12
|
+
end
|
13
|
+
|
14
|
+
def term arg1, arg2 = nil
|
15
|
+
case arg1
|
16
|
+
when Hash then Pact::Term.new(arg1)
|
17
|
+
when Regexp then Pact::Term.new(matcher: arg1, generate: arg2)
|
18
|
+
when String then Pact::Term.new(matcher: arg2, generate: arg1)
|
19
|
+
else
|
20
|
+
raise ArgumentError, "Cannot create a Pact::Term from arguments #{arg1.inspect} and #{arg2.inspect}. Please provide a Regexp and a String."
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def like content
|
25
|
+
Pact::SomethingLike.new(content)
|
26
|
+
end
|
27
|
+
|
28
|
+
def each_like content, options = {}
|
29
|
+
Pact::ArrayLike.new(content, options)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
data/lib/pact/support.rb
CHANGED
@@ -3,7 +3,11 @@ require 'pact/consumer_contract'
|
|
3
3
|
require 'pact/matchers'
|
4
4
|
require 'pact/logging'
|
5
5
|
require 'pact/term'
|
6
|
-
require 'pact/
|
6
|
+
require 'pact/helpers'
|
7
7
|
require 'pact/configuration'
|
8
8
|
require 'pact/reification'
|
9
9
|
require 'pact/rspec'
|
10
|
+
|
11
|
+
module Pact
|
12
|
+
include Pact::Helpers
|
13
|
+
end
|
data/lib/pact/support/version.rb
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'pact/helpers'
|
2
|
+
|
3
|
+
module Pact
|
4
|
+
describe Helpers do
|
5
|
+
|
6
|
+
include Pact::Helpers
|
7
|
+
|
8
|
+
describe "#term" do
|
9
|
+
|
10
|
+
context "with a Hash argument" do
|
11
|
+
it "creates a Pact::Term" do
|
12
|
+
expect(term(generate: 'food', matcher: /foo/)).to eq Pact::Term.new(generate: 'food', matcher: /foo/)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context "with a Regexp and a String" do
|
17
|
+
it "creates a Pact::Term" do
|
18
|
+
expect(term(/foo/, 'food')).to eq Pact::Term.new(generate: 'food', matcher: /foo/)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
context "with a String and a Regexp" do
|
23
|
+
it "creates a Pact::Term" do
|
24
|
+
expect(term('food', /foo/)).to eq Pact::Term.new(generate: 'food', matcher: /foo/)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context "with anything else" do
|
29
|
+
it "raises an ArgumentError" do
|
30
|
+
expect{ term(1, /foo/) }.to raise_error(ArgumentError, /Cannot create.*1.*foo/)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "#like" do
|
36
|
+
it "creates a Pact::SomethingLike" do
|
37
|
+
expect(like(1)).to eq Pact::SomethingLike.new(1)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
describe "#each_like" do
|
42
|
+
it "creates a Pact::ArrayLike" do
|
43
|
+
expect(each_like(1)).to eq Pact::ArrayLike.new(1)
|
44
|
+
expect(each_like(1, min: 2)).to eq Pact::ArrayLike.new(1, min: 2)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pact-support
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Fraser
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2015-07-
|
15
|
+
date: 2015-07-10 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: randexp
|
@@ -246,6 +246,7 @@ files:
|
|
246
246
|
- lib/pact/consumer_contract/response.rb
|
247
247
|
- lib/pact/consumer_contract/service_consumer.rb
|
248
248
|
- lib/pact/consumer_contract/service_provider.rb
|
249
|
+
- lib/pact/helpers.rb
|
249
250
|
- lib/pact/logging.rb
|
250
251
|
- lib/pact/matchers.rb
|
251
252
|
- lib/pact/matchers/actual_type.rb
|
@@ -299,6 +300,7 @@ files:
|
|
299
300
|
- spec/lib/pact/consumer_contract/query_string_spec.rb
|
300
301
|
- spec/lib/pact/consumer_contract/request_spec.rb
|
301
302
|
- spec/lib/pact/consumer_contract/response_spec.rb
|
303
|
+
- spec/lib/pact/helpers_spec.rb
|
302
304
|
- spec/lib/pact/matchers/differ_spec.rb
|
303
305
|
- spec/lib/pact/matchers/difference_spec.rb
|
304
306
|
- spec/lib/pact/matchers/embedded_diff_formatter_spec.rb
|
@@ -322,6 +324,7 @@ files:
|
|
322
324
|
- spec/lib/pact/shared/request_spec.rb
|
323
325
|
- spec/lib/pact/shared/text_differ_spec.rb
|
324
326
|
- spec/lib/pact/something_like_spec.rb
|
327
|
+
- spec/lib/pact/support_spec.rb
|
325
328
|
- spec/lib/pact/symbolize_keys_spec.rb
|
326
329
|
- spec/lib/pact/term_spec.rb
|
327
330
|
- spec/pact_specification/compliance-2.0.rb
|
@@ -387,6 +390,7 @@ test_files:
|
|
387
390
|
- spec/lib/pact/consumer_contract/query_string_spec.rb
|
388
391
|
- spec/lib/pact/consumer_contract/request_spec.rb
|
389
392
|
- spec/lib/pact/consumer_contract/response_spec.rb
|
393
|
+
- spec/lib/pact/helpers_spec.rb
|
390
394
|
- spec/lib/pact/matchers/differ_spec.rb
|
391
395
|
- spec/lib/pact/matchers/difference_spec.rb
|
392
396
|
- spec/lib/pact/matchers/embedded_diff_formatter_spec.rb
|
@@ -410,6 +414,7 @@ test_files:
|
|
410
414
|
- spec/lib/pact/shared/request_spec.rb
|
411
415
|
- spec/lib/pact/shared/text_differ_spec.rb
|
412
416
|
- spec/lib/pact/something_like_spec.rb
|
417
|
+
- spec/lib/pact/support_spec.rb
|
413
418
|
- spec/lib/pact/symbolize_keys_spec.rb
|
414
419
|
- spec/lib/pact/term_spec.rb
|
415
420
|
- spec/pact_specification/compliance-2.0.rb
|