cucumber-blendle-steps 0.5.1 → 0.6.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 +3 -0
- data/cucumber-blendle-steps.gemspec +1 -0
- data/lib/cucumber/blendle/helpers/liquid_filters.rb +17 -0
- data/lib/cucumber/blendle/steps/rest_steps.rb +9 -0
- data/lib/cucumber/blendle/support/dump.rb +12 -3
- data/lib/cucumber/blendle/version.rb +1 -1
- data/lib/cucumber/blendle_steps.rb +2 -0
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1d20481e962e42c891c1c4802c845b5436daeff7
|
4
|
+
data.tar.gz: 93513ad396fe31b4c8b72d9f5b6406567a098557
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4bf012b3f04c857389204791c9ba0928baa2021a5ab5939493505046db2a990041f6df70cd71c22c4700eafc22f330205a94cfa36dc805574785c2ab998fbcd
|
7
|
+
data.tar.gz: 7388daaa45cde11d38638c066c9ee645d8c2cacc9f73390603b7333339d23e6a7f6c8c2c090055d69ca8c78216aefe295fb7b79c60fc7052b86278d1bd77105b
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## [v0.5.1](https://github.com/blendle/cucumber-blendle-steps/tree/v0.5.1) (2016-03-12)
|
4
|
+
[Full Changelog](https://github.com/blendle/cucumber-blendle-steps/compare/v0.5.0...v0.5.1)
|
5
|
+
|
3
6
|
## [v0.5.0](https://github.com/blendle/cucumber-blendle-steps/tree/v0.5.0) (2016-03-11)
|
4
7
|
[Full Changelog](https://github.com/blendle/cucumber-blendle-steps/compare/v0.4.0...v0.5.0)
|
5
8
|
|
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_dependency 'hyperresource'
|
24
24
|
spec.add_dependency 'json_spec'
|
25
25
|
spec.add_dependency 'minitest'
|
26
|
+
spec.add_dependency 'liquid'
|
26
27
|
spec.add_dependency 'rack-test'
|
27
28
|
spec.add_dependency 'rack'
|
28
29
|
spec.add_dependency 'rspec-expectations'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'liquid'
|
2
|
+
require 'chronic'
|
3
|
+
require 'time'
|
4
|
+
|
5
|
+
module Cucumber
|
6
|
+
module BlendleSteps
|
7
|
+
class LiquidFilters
|
8
|
+
module Date
|
9
|
+
def date(input)
|
10
|
+
Timecop.return { Chronic.parse(input) || DateTime.parse(input) }.utc.iso8601
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
Liquid::Template.register_filter(Date)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -71,6 +71,8 @@ end
|
|
71
71
|
Then(/^the response should be JSON:$/) do |json|
|
72
72
|
dump last_response.body
|
73
73
|
|
74
|
+
json = Liquid::Template.parse(json).render
|
75
|
+
|
74
76
|
assert_equal last_response.headers['Content-Type'], 'application/json'
|
75
77
|
expect(last_response.body).to be_json_eql(json)
|
76
78
|
end
|
@@ -89,6 +91,11 @@ end
|
|
89
91
|
# }
|
90
92
|
# """
|
91
93
|
#
|
94
|
+
# NOTE: You can also use Liquid templating in your expectation, which will be
|
95
|
+
# parsed before validation:
|
96
|
+
#
|
97
|
+
# { "end_date": "{{ 'today' | date }}" } => { "date": "2016-03-15T14:00:00Z" }
|
98
|
+
#
|
92
99
|
Then(%r{^the response should be HAL/JSON(?: \(disregarding values? of "([^"]*)"\))?:$}) do |disregard, json|
|
93
100
|
dump last_response.body
|
94
101
|
|
@@ -103,7 +110,9 @@ Then(%r{^the response should be HAL/JSON(?: \(disregarding values? of "([^"]*)"\
|
|
103
110
|
|
104
111
|
assert hal.valid?, "Halidator errors: #{hal.errors.join(',')}"
|
105
112
|
|
113
|
+
json = Liquid::Template.parse(json).render
|
106
114
|
match = be_json_eql(json)
|
115
|
+
|
107
116
|
if disregard.present?
|
108
117
|
disregard.split(',').each do |attribute|
|
109
118
|
match = match.excluding(attribute)
|
@@ -1,5 +1,12 @@
|
|
1
1
|
require 'json'
|
2
2
|
|
3
|
+
After do |scenario|
|
4
|
+
next unless scenario.failed?
|
5
|
+
|
6
|
+
ENV['DUMP'] = 'true'
|
7
|
+
dump(last_response.body)
|
8
|
+
end
|
9
|
+
|
3
10
|
# Dump a string/text to the clipboard or a file if the correct
|
4
11
|
# environment variable is set.
|
5
12
|
#
|
@@ -8,11 +15,13 @@ require 'json'
|
|
8
15
|
#
|
9
16
|
def dump(data)
|
10
17
|
return unless ENV['DUMP']
|
18
|
+
|
11
19
|
require 'mkmf'
|
12
|
-
|
13
|
-
|
14
|
-
elsif %w(file tmp).include?(ENV['DUMP'])
|
20
|
+
|
21
|
+
if %w(file tmp).include?(ENV['DUMP'])
|
15
22
|
File.open('/tmp/dump', 'w') { |f| f << pretty_sorted_json(data) }
|
23
|
+
elsif ENV['DUMP'] && find_executable0('pbcopy')
|
24
|
+
IO.popen(['pbcopy'], 'w') { |f| f << pretty_sorted_json(data) }
|
16
25
|
end
|
17
26
|
end
|
18
27
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-blendle-steps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean Mertz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: liquid
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: rack-test
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -306,6 +320,7 @@ files:
|
|
306
320
|
- README.md
|
307
321
|
- Rakefile
|
308
322
|
- cucumber-blendle-steps.gemspec
|
323
|
+
- lib/cucumber/blendle/helpers/liquid_filters.rb
|
309
324
|
- lib/cucumber/blendle/steps/benchmark_steps.rb
|
310
325
|
- lib/cucumber/blendle/steps/mock_server_steps.rb
|
311
326
|
- lib/cucumber/blendle/steps/model_steps.rb
|
@@ -337,7 +352,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
337
352
|
version: '0'
|
338
353
|
requirements: []
|
339
354
|
rubyforge_project:
|
340
|
-
rubygems_version: 2.5.1
|
355
|
+
rubygems_version: 2.4.5.1
|
341
356
|
signing_key:
|
342
357
|
specification_version: 4
|
343
358
|
summary: Cucumber steps used by all of Blendle Ruby projects
|