rspec-rabl 1.1.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|