rspec-rabl 1.1.1 → 2.0.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/lib/rspec/rabl/attribute_matcher.rb +11 -2
- data/lib/rspec/rabl/version.rb +1 -1
- data/spec/functional/matcher_errors_spec.rb +19 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2811294d13480463ba3441a92c72ce976e17e64a
|
4
|
+
data.tar.gz: bdbd8415e5fb173d4899720b83c1a8b97797fa0a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 451dca70d53640adde76d2eb06fceb233f3edc88bc915594e804dd1db967d34600c709078ff320c75e5f3cc93fd5008370c661ff6a78d572df9ef8893e1467a7
|
7
|
+
data.tar.gz: a3e97e32630e5fa644d46841719c1d31a01c2df0b29108a263daba2c5c160006d46a63dc286d3782de8611d99f00e9975b2176e429212b1fb07ee659e096a04a
|
@@ -11,12 +11,21 @@ module RSpec
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def failure_message
|
14
|
-
|
14
|
+
if implicit_nil_value?
|
15
|
+
"nil value when testing.\n expected #{expected_value.inspect} in #{attribute_path}\n got #{rendered_value.inspect}\n If you want to test for a nil value, please use `with_value(nil)`"
|
16
|
+
else
|
17
|
+
"expected #{expected_value.inspect} in #{attribute_path}\n got #{rendered_value.inspect}"
|
18
|
+
end
|
15
19
|
end
|
16
20
|
|
17
21
|
def matches?(subject)
|
18
22
|
@subject = subject
|
19
|
-
attribute_rendered? && (!expected_value_set || rendered_value == expected_value)
|
23
|
+
attribute_rendered? && (!expected_value_set || rendered_value == expected_value) && !implicit_nil_value?
|
24
|
+
end
|
25
|
+
|
26
|
+
def implicit_nil_value?
|
27
|
+
return false if expected_value_set
|
28
|
+
rendered_value.nil? || expected_value.nil?
|
20
29
|
end
|
21
30
|
|
22
31
|
def with(model_attribute)
|
data/lib/rspec/rabl/version.rb
CHANGED
@@ -45,4 +45,23 @@ describe "Error Messages" do
|
|
45
45
|
expect(lines).to include(" expected \"Imma derp derp\" in [\"users\"][\"user\"][\"guid\"]")
|
46
46
|
expect(lines).to include(" got \"abc\"")
|
47
47
|
end
|
48
|
+
|
49
|
+
it "renders a helpful error message for nil tests" do
|
50
|
+
example = nil
|
51
|
+
group = RSpec.describe "index.rabl" do
|
52
|
+
include_context "user_context"
|
53
|
+
rabl_data(:root => "users", :object_root => "user"){ [user] }
|
54
|
+
example = it "tries to render nil attribute" do
|
55
|
+
allow(user).to receive(:foo).and_return(nil)
|
56
|
+
expect(subject).to render_attribute(:foo)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
group.run
|
60
|
+
lines = RSpec::Core::Notifications::FailedExampleNotification.new(example).message_lines.join("\n")
|
61
|
+
|
62
|
+
expect(lines).to include("nil value when testing.")
|
63
|
+
expect(lines).to include(" expected nil in [\"users\"][\"user\"][\"foo\"]")
|
64
|
+
expect(lines).to include(" got nil")
|
65
|
+
expect(lines).to include(" If you want to test for a nil value, please use `with_value(nil)`")
|
66
|
+
end
|
48
67
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-rabl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Ries
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -136,7 +136,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
136
136
|
version: '0'
|
137
137
|
requirements: []
|
138
138
|
rubyforge_project:
|
139
|
-
rubygems_version: 2.5.
|
139
|
+
rubygems_version: 2.5.2
|
140
140
|
signing_key:
|
141
141
|
specification_version: 4
|
142
142
|
summary: Provides a more declarative form of view testing for users of rabl
|