@@ -22,6 +22,9 @@ class NilForbiddenRecord
22
22
23
23
end
24
24
25
+ let ( :valid_value ) { instance_double ( 'ValidValue' , invalid? : false ) }
26
+ let ( :invalid_value ) { instance_double ( 'InvalidValue' , invalid? : true ) }
27
+
25
28
context 'with allow_nil' do
26
29
27
30
let ( :record ) { NilAllowedRecord . new ( foo : value ) }
@@ -41,7 +44,7 @@ class NilForbiddenRecord
41
44
42
45
context 'and invalid value' do
43
46
44
- let ( :value ) { instance_double ( 'InvalidValue' , valid? : false ) }
47
+ let ( :value ) { invalid_value }
45
48
46
49
it 'fails validation' do
47
50
aggregate_failures do
@@ -54,7 +57,7 @@ class NilForbiddenRecord
54
57
55
58
context 'and valid value' do
56
59
57
- let ( :value ) { instance_double ( 'ValidValue' , valid? : true ) }
60
+ let ( :value ) { valid_value }
58
61
59
62
it 'passes validation' do
60
63
aggregate_failures do
@@ -87,7 +90,7 @@ class NilForbiddenRecord
87
90
88
91
context 'and invalid value' do
89
92
90
- let ( :value ) { instance_double ( 'InvalidValue' , valid? : false ) }
93
+ let ( :value ) { invalid_value }
91
94
92
95
it 'fails validation' do
93
96
aggregate_failures do
@@ -100,7 +103,7 @@ class NilForbiddenRecord
100
103
101
104
context 'and valid value' do
102
105
103
- let ( :value ) { instance_double ( 'ValidValue' , valid? : true ) }
106
+ let ( :value ) { valid_value }
104
107
105
108
it 'passes validation' do
106
109
aggregate_failures do
@@ -133,8 +136,8 @@ class NilForbiddenRecord
133
136
context 'and no invalid values' do
134
137
135
138
let ( :values ) { [ value1 , value2 ] }
136
- let ( :value1 ) { instance_double ( 'ValidValue' ) }
137
- let ( :value2 ) { instance_double ( 'ValidValue' ) }
139
+ let ( :value1 ) { valid_value }
140
+ let ( :value2 ) { valid_value }
138
141
139
142
it 'passes validation' do
140
143
expect ( value1 ) . to receive ( :invalid? ) . and_return ( false ) . once
@@ -149,13 +152,15 @@ class NilForbiddenRecord
149
152
150
153
context 'and some invalid values' do
151
154
152
- let ( :values ) { [ value1 , value2 ] }
153
- let ( :value1 ) { instance_double ( 'ValidValue' ) }
154
- let ( :value2 ) { instance_double ( 'InvalidValue' ) }
155
+ let ( :values ) { [ value1 , value2 , value3 ] }
156
+ let ( :value1 ) { invalid_value }
157
+ let ( :value2 ) { valid_value }
158
+ let ( :value3 ) { invalid_value }
155
159
156
160
it 'fails validation' do
157
- expect ( value1 ) . to receive ( :invalid? ) . and_return ( false ) . once
158
- expect ( value2 ) . to receive ( :invalid? ) . and_return ( true ) . once
161
+ expect ( value1 ) . to receive ( :invalid? ) . and_return ( true ) . once
162
+ expect ( value2 ) . to receive ( :invalid? ) . and_return ( false ) . once
163
+ expect ( value3 ) . to receive ( :invalid? ) . and_return ( true ) . once
159
164
aggregate_failures do
160
165
expect ( record . valid? ) . to eq ( false )
161
166
expect ( record . errors ) . to include ( :foo )
0 commit comments