cucumber-blendle-steps 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|