mongoid 4.0.0.alpha1 → 4.0.0.alpha2
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 +30 -0
- data/README.md +1 -1
- data/lib/config/locales/en.yml +4 -6
- data/lib/mongoid/attributes/processing.rb +1 -1
- data/lib/mongoid/contextual.rb +2 -0
- data/lib/mongoid/contextual/map_reduce.rb +3 -1
- data/lib/mongoid/contextual/none.rb +90 -0
- data/lib/mongoid/criteria.rb +25 -0
- data/lib/mongoid/extensions/array.rb +1 -1
- data/lib/mongoid/extensions/big_decimal.rb +1 -1
- data/lib/mongoid/extensions/date.rb +1 -1
- data/lib/mongoid/extensions/date_time.rb +3 -3
- data/lib/mongoid/extensions/float.rb +1 -1
- data/lib/mongoid/extensions/hash.rb +1 -1
- data/lib/mongoid/extensions/integer.rb +1 -1
- data/lib/mongoid/extensions/object.rb +3 -3
- data/lib/mongoid/extensions/object_id.rb +1 -1
- data/lib/mongoid/extensions/range.rb +1 -1
- data/lib/mongoid/extensions/regexp.rb +1 -1
- data/lib/mongoid/extensions/set.rb +1 -1
- data/lib/mongoid/extensions/string.rb +1 -1
- data/lib/mongoid/extensions/symbol.rb +1 -1
- data/lib/mongoid/extensions/time.rb +1 -1
- data/lib/mongoid/extensions/time_with_zone.rb +1 -1
- data/lib/mongoid/findable.rb +1 -0
- data/lib/mongoid/interceptable.rb +4 -2
- data/lib/mongoid/persistable.rb +4 -3
- data/lib/mongoid/relations/embedded/many.rb +1 -1
- data/lib/mongoid/relations/metadata.rb +8 -4
- data/lib/mongoid/relations/referenced/many.rb +1 -1
- data/lib/mongoid/relations/touchable.rb +1 -1
- data/lib/mongoid/scopable.rb +2 -26
- data/lib/mongoid/validatable/uniqueness.rb +13 -0
- data/lib/mongoid/version.rb +1 -1
- data/lib/rails/generators/mongoid/config/templates/mongoid.yml +0 -4
- data/spec/app/models/acolyte.rb +1 -1
- data/spec/app/models/address.rb +2 -2
- data/spec/app/models/appointment.rb +1 -1
- data/spec/app/models/audio.rb +1 -1
- data/spec/app/models/dog.rb +1 -1
- data/spec/app/models/event.rb +1 -1
- data/spec/app/models/house.rb +1 -1
- data/spec/app/models/message.rb +8 -0
- data/spec/app/models/person.rb +3 -2
- data/spec/app/models/player.rb +2 -2
- data/spec/app/models/post.rb +3 -2
- data/spec/app/models/preference.rb +1 -1
- data/spec/app/models/sound.rb +1 -1
- data/spec/app/models/symptom.rb +1 -1
- data/spec/app/models/tree.rb +2 -2
- data/spec/app/models/video.rb +1 -1
- data/spec/mongoid/attributes_spec.rb +3 -3
- data/spec/mongoid/changeable_spec.rb +3 -3
- data/spec/mongoid/contextual/mongo_spec.rb +14 -14
- data/spec/mongoid/contextual/none_spec.rb +127 -0
- data/spec/mongoid/criteria/scopable_spec.rb +6 -6
- data/spec/mongoid/criteria_spec.rb +52 -96
- data/spec/mongoid/errors/invalid_scope_spec.rb +2 -2
- data/spec/mongoid/errors/mongoid_error_spec.rb +1 -1
- data/spec/mongoid/extensions/date_time_spec.rb +1 -1
- data/spec/mongoid/fields_spec.rb +6 -7
- data/spec/mongoid/findable_spec.rb +65 -0
- data/spec/mongoid/interceptable_spec.rb +11 -11
- data/spec/mongoid/persistable_spec.rb +4 -4
- data/spec/mongoid/relations/auto_save_spec.rb +1 -1
- data/spec/mongoid/relations/bindings/embedded/in_spec.rb +5 -5
- data/spec/mongoid/relations/bindings/embedded/many_spec.rb +1 -1
- data/spec/mongoid/relations/bindings/embedded/one_spec.rb +2 -2
- data/spec/mongoid/relations/bindings/referenced/in_spec.rb +14 -14
- data/spec/mongoid/relations/bindings/referenced/many_spec.rb +4 -4
- data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +10 -10
- data/spec/mongoid/relations/bindings/referenced/one_spec.rb +6 -6
- data/spec/mongoid/relations/builders/referenced/in_spec.rb +2 -2
- data/spec/mongoid/relations/builders/referenced/one_spec.rb +1 -1
- data/spec/mongoid/relations/cascading/delete_spec.rb +2 -2
- data/spec/mongoid/relations/cascading/destroy_spec.rb +4 -4
- data/spec/mongoid/relations/cascading/nullify_spec.rb +2 -2
- data/spec/mongoid/relations/cascading/restrict_spec.rb +4 -4
- data/spec/mongoid/relations/eager_spec.rb +6 -6
- data/spec/mongoid/relations/embedded/many_spec.rb +36 -5
- data/spec/mongoid/relations/metadata_spec.rb +34 -15
- data/spec/mongoid/relations/referenced/many_spec.rb +19 -4
- data/spec/mongoid/relations/referenced/many_to_many_spec.rb +7 -7
- data/spec/mongoid/relations/referenced/one_spec.rb +1 -1
- data/spec/mongoid/relations/targets/enumerable_spec.rb +2 -2
- data/spec/mongoid/relations/touchable_spec.rb +17 -0
- data/spec/mongoid/scopable_spec.rb +17 -40
- data/spec/mongoid/sessions/options_spec.rb +1 -1
- data/spec/mongoid/timestamps/timeless_spec.rb +6 -6
- data/spec/mongoid/timestamps/updated/short_spec.rb +1 -1
- data/spec/mongoid/timestamps/updated_spec.rb +1 -1
- data/spec/mongoid/timestamps_spec.rb +2 -2
- data/spec/mongoid/validatable/associated_spec.rb +4 -4
- data/spec/mongoid/validatable/length_spec.rb +7 -7
- data/spec/mongoid/validatable/presence_spec.rb +6 -6
- data/spec/mongoid/validatable/uniqueness_spec.rb +44 -3
- data/spec/rails/mongoid_spec.rb +20 -20
- data/spec/spec_helper.rb +1 -0
- metadata +55 -50
|
@@ -45,7 +45,7 @@ describe Mongoid::Relations::Referenced::ManyToMany do
|
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
it "does not persist the child document" do
|
|
48
|
-
preference.
|
|
48
|
+
expect(preference).to receive(:save).never
|
|
49
49
|
article.preferences.send(method, preference)
|
|
50
50
|
end
|
|
51
51
|
end
|
|
@@ -515,7 +515,7 @@ describe Mongoid::Relations::Referenced::ManyToMany do
|
|
|
515
515
|
context "when errors are raised" do
|
|
516
516
|
|
|
517
517
|
before do
|
|
518
|
-
post.
|
|
518
|
+
expect(post).to receive(:before_add_tag).and_raise
|
|
519
519
|
end
|
|
520
520
|
|
|
521
521
|
it "does not add the document to the relation" do
|
|
@@ -537,7 +537,7 @@ describe Mongoid::Relations::Referenced::ManyToMany do
|
|
|
537
537
|
context "when errors are raised" do
|
|
538
538
|
|
|
539
539
|
before do
|
|
540
|
-
post.
|
|
540
|
+
expect(post).to receive(:after_add_tag).and_raise
|
|
541
541
|
end
|
|
542
542
|
|
|
543
543
|
it "adds the document to the relation" do
|
|
@@ -1185,7 +1185,7 @@ describe Mongoid::Relations::Referenced::ManyToMany do
|
|
|
1185
1185
|
context "when errors are raised" do
|
|
1186
1186
|
|
|
1187
1187
|
before do
|
|
1188
|
-
post.
|
|
1188
|
+
expect(post).to receive(:before_remove_tag).and_raise
|
|
1189
1189
|
end
|
|
1190
1190
|
|
|
1191
1191
|
it "does not remove the document from the relation" do
|
|
@@ -1217,7 +1217,7 @@ describe Mongoid::Relations::Referenced::ManyToMany do
|
|
|
1217
1217
|
context "when errors are raised" do
|
|
1218
1218
|
|
|
1219
1219
|
before do
|
|
1220
|
-
post.
|
|
1220
|
+
expect(post).to receive(:after_remove_tag).and_raise
|
|
1221
1221
|
end
|
|
1222
1222
|
|
|
1223
1223
|
it "removes the document from the relation" do
|
|
@@ -2119,7 +2119,7 @@ describe Mongoid::Relations::Referenced::ManyToMany do
|
|
|
2119
2119
|
context "when errors are raised" do
|
|
2120
2120
|
|
|
2121
2121
|
before do
|
|
2122
|
-
post.
|
|
2122
|
+
expect(post).to receive(:before_remove_tag).and_raise
|
|
2123
2123
|
end
|
|
2124
2124
|
|
|
2125
2125
|
it "does not remove the document from the relation" do
|
|
@@ -2151,7 +2151,7 @@ describe Mongoid::Relations::Referenced::ManyToMany do
|
|
|
2151
2151
|
context "when errors are raised" do
|
|
2152
2152
|
|
|
2153
2153
|
before do
|
|
2154
|
-
post.
|
|
2154
|
+
expect(post).to receive(:after_remove_tag).and_raise
|
|
2155
2155
|
end
|
|
2156
2156
|
|
|
2157
2157
|
it "removes the document from the relation" do
|
|
@@ -787,7 +787,7 @@ describe Mongoid::Relations::Targets::Enumerable do
|
|
|
787
787
|
end
|
|
788
788
|
|
|
789
789
|
it "receives query only once" do
|
|
790
|
-
criteria.
|
|
790
|
+
expect(criteria).to receive(:first).once
|
|
791
791
|
first
|
|
792
792
|
end
|
|
793
793
|
end
|
|
@@ -1212,7 +1212,7 @@ describe Mongoid::Relations::Targets::Enumerable do
|
|
|
1212
1212
|
end
|
|
1213
1213
|
|
|
1214
1214
|
it "receives query only once" do
|
|
1215
|
-
criteria.
|
|
1215
|
+
expect(criteria).to receive(:last).once
|
|
1216
1216
|
last
|
|
1217
1217
|
end
|
|
1218
1218
|
end
|
|
@@ -269,6 +269,23 @@ describe Mongoid::Relations::Touchable do
|
|
|
269
269
|
end
|
|
270
270
|
end
|
|
271
271
|
|
|
272
|
+
context "when modifying the child" do
|
|
273
|
+
|
|
274
|
+
let!(:agency) do
|
|
275
|
+
Agency.create
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
let!(:agent) do
|
|
279
|
+
agency.agents.create(number: '1')
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
it "updates the parent's updated at" do
|
|
283
|
+
expect {
|
|
284
|
+
agent.update_attributes(number: '2')
|
|
285
|
+
}.to change { agency.updated_at }
|
|
286
|
+
end
|
|
287
|
+
end
|
|
288
|
+
|
|
272
289
|
context "when destroying the child" do
|
|
273
290
|
|
|
274
291
|
let!(:agency) do
|
|
@@ -4,29 +4,6 @@ describe Mongoid::Scopable do
|
|
|
4
4
|
|
|
5
5
|
describe ".default_scope" do
|
|
6
6
|
|
|
7
|
-
context "when provided a criteria" do
|
|
8
|
-
|
|
9
|
-
let(:criteria) do
|
|
10
|
-
Band.where(name: "Depeche Mode")
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
before do
|
|
14
|
-
Band.default_scope criteria
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
after do
|
|
18
|
-
Band.default_scoping = nil
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
it "adds the default scope to the class" do
|
|
22
|
-
expect(Band.default_scoping.call).to eq(criteria)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
it "flags as being default scoped" do
|
|
26
|
-
expect(Band).to be_default_scoping
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
7
|
context "when provided a proc" do
|
|
31
8
|
|
|
32
9
|
let(:criteria) do
|
|
@@ -50,7 +27,7 @@ describe Mongoid::Scopable do
|
|
|
50
27
|
end
|
|
51
28
|
end
|
|
52
29
|
|
|
53
|
-
context "when provided a non proc
|
|
30
|
+
context "when provided a non proc" do
|
|
54
31
|
|
|
55
32
|
it "raises an error" do
|
|
56
33
|
expect {
|
|
@@ -62,11 +39,11 @@ describe Mongoid::Scopable do
|
|
|
62
39
|
context "when there is more then one default_scope" do
|
|
63
40
|
|
|
64
41
|
let(:criteria) do
|
|
65
|
-
Band.where(name: "Depeche Mode")
|
|
42
|
+
->{ Band.where(name: "Depeche Mode") }
|
|
66
43
|
end
|
|
67
44
|
|
|
68
45
|
let(:additional_criteria) do
|
|
69
|
-
Band.where(origin: "England")
|
|
46
|
+
->{ Band.where(origin: "England") }
|
|
70
47
|
end
|
|
71
48
|
|
|
72
49
|
let(:proc_criteria) do
|
|
@@ -187,7 +164,7 @@ describe Mongoid::Scopable do
|
|
|
187
164
|
context "when a block is provided" do
|
|
188
165
|
|
|
189
166
|
before do
|
|
190
|
-
Band.scope(:active, Band.where(active: true)) do
|
|
167
|
+
Band.scope(:active, ->{ Band.where(active: true) }) do
|
|
191
168
|
def add_origin
|
|
192
169
|
tap { |c| c.selector[:origin] = "Deutschland" }
|
|
193
170
|
end
|
|
@@ -215,7 +192,7 @@ describe Mongoid::Scopable do
|
|
|
215
192
|
before do
|
|
216
193
|
Record.scope(
|
|
217
194
|
:tool,
|
|
218
|
-
Record.where(:name.in => [ "undertow", "aenima", "lateralus" ])
|
|
195
|
+
->{ Record.where(:name.in => [ "undertow", "aenima", "lateralus" ]) }
|
|
219
196
|
)
|
|
220
197
|
end
|
|
221
198
|
|
|
@@ -249,7 +226,7 @@ describe Mongoid::Scopable do
|
|
|
249
226
|
context "when no block is provided" do
|
|
250
227
|
|
|
251
228
|
before do
|
|
252
|
-
Band.scope(:active, Band.where(active: true).skip(10))
|
|
229
|
+
Band.scope(:active, ->{ Band.where(active: true).skip(10) })
|
|
253
230
|
end
|
|
254
231
|
|
|
255
232
|
after do
|
|
@@ -287,7 +264,7 @@ describe Mongoid::Scopable do
|
|
|
287
264
|
context "when chained to another scope" do
|
|
288
265
|
|
|
289
266
|
before do
|
|
290
|
-
Band.scope(:english, Band.where(origin: "England"))
|
|
267
|
+
Band.scope(:english, ->{ Band.where(origin: "England") })
|
|
291
268
|
end
|
|
292
269
|
|
|
293
270
|
after do
|
|
@@ -369,8 +346,8 @@ describe Mongoid::Scopable do
|
|
|
369
346
|
|
|
370
347
|
it "raises an exception" do
|
|
371
348
|
expect {
|
|
372
|
-
Band.scope(:active, Band.where(active: true))
|
|
373
|
-
Band.scope(:active, Band.where(active: true))
|
|
349
|
+
Band.scope(:active, ->{ Band.where(active: true) })
|
|
350
|
+
Band.scope(:active, ->{ Band.where(active: true) })
|
|
374
351
|
}.to raise_error(Mongoid::Errors::ScopeOverwrite)
|
|
375
352
|
end
|
|
376
353
|
end
|
|
@@ -386,8 +363,8 @@ describe Mongoid::Scopable do
|
|
|
386
363
|
end
|
|
387
364
|
|
|
388
365
|
it "raises no exception" do
|
|
389
|
-
Band.scope(:active, Band.where(active: true))
|
|
390
|
-
Band.scope(:active, Band.where(active: true))
|
|
366
|
+
Band.scope(:active, ->{ Band.where(active: true) })
|
|
367
|
+
Band.scope(:active, ->{ Band.where(active: true) })
|
|
391
368
|
end
|
|
392
369
|
end
|
|
393
370
|
end
|
|
@@ -586,7 +563,7 @@ describe Mongoid::Scopable do
|
|
|
586
563
|
end
|
|
587
564
|
end
|
|
588
565
|
|
|
589
|
-
context "when chaining a
|
|
566
|
+
context "when chaining a proc with a proc" do
|
|
590
567
|
|
|
591
568
|
context "when both scopes are or queries" do
|
|
592
569
|
|
|
@@ -595,7 +572,7 @@ describe Mongoid::Scopable do
|
|
|
595
572
|
end
|
|
596
573
|
|
|
597
574
|
before do
|
|
598
|
-
Band.scope(:xxx, Band.any_of({ :aaa.gt => 0 }, { :bbb.gt => 0 }))
|
|
575
|
+
Band.scope(:xxx, ->{ Band.any_of({ :aaa.gt => 0 }, { :bbb.gt => 0 }) })
|
|
599
576
|
Band.scope(:yyy, ->{ Band.any_of({ :ccc => nil }, { :ccc.gt => time }) })
|
|
600
577
|
end
|
|
601
578
|
|
|
@@ -745,7 +722,7 @@ describe Mongoid::Scopable do
|
|
|
745
722
|
end
|
|
746
723
|
|
|
747
724
|
before do
|
|
748
|
-
Band.default_scope criteria
|
|
725
|
+
Band.default_scope ->{ criteria }
|
|
749
726
|
end
|
|
750
727
|
|
|
751
728
|
after do
|
|
@@ -780,7 +757,7 @@ describe Mongoid::Scopable do
|
|
|
780
757
|
end
|
|
781
758
|
|
|
782
759
|
before do
|
|
783
|
-
Band.default_scope criteria
|
|
760
|
+
Band.default_scope ->{ criteria }
|
|
784
761
|
end
|
|
785
762
|
|
|
786
763
|
after do
|
|
@@ -832,7 +809,7 @@ describe Mongoid::Scopable do
|
|
|
832
809
|
context "when a named scope is called in the block" do
|
|
833
810
|
|
|
834
811
|
before do
|
|
835
|
-
Band.scope(:skipped, Band.skip(10))
|
|
812
|
+
Band.scope(:skipped, ->{ Band.skip(10) })
|
|
836
813
|
end
|
|
837
814
|
|
|
838
815
|
after do
|
|
@@ -858,7 +835,7 @@ describe Mongoid::Scopable do
|
|
|
858
835
|
end
|
|
859
836
|
|
|
860
837
|
before do
|
|
861
|
-
Band.default_scope criteria
|
|
838
|
+
Band.default_scope ->{ criteria }
|
|
862
839
|
end
|
|
863
840
|
|
|
864
841
|
after do
|
|
@@ -50,7 +50,7 @@ describe Mongoid::Sessions::Options do
|
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
it "passes down the options to collection" do
|
|
53
|
-
Moped::Session.
|
|
53
|
+
expect_any_instance_of(Moped::Session).to receive(:with).with(options).and_return({})
|
|
54
54
|
instance.collection
|
|
55
55
|
end
|
|
56
56
|
end
|
|
@@ -73,11 +73,11 @@ describe Mongoid::Timestamps::Timeless do
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
it "does not set the created timestamp" do
|
|
76
|
-
document.created_at.
|
|
76
|
+
expect(document.created_at).to be_nil
|
|
77
77
|
end
|
|
78
78
|
|
|
79
79
|
it "does not set the updated timestamp" do
|
|
80
|
-
document.updated_at.
|
|
80
|
+
expect(document.updated_at).to be_nil
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
it "clears out the timeless option after save" do
|
|
@@ -91,7 +91,7 @@ describe Mongoid::Timestamps::Timeless do
|
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
it "sets the updated timestamp" do
|
|
94
|
-
document.updated_at.
|
|
94
|
+
expect(document.updated_at).to_not be_nil
|
|
95
95
|
end
|
|
96
96
|
end
|
|
97
97
|
end
|
|
@@ -103,11 +103,11 @@ describe Mongoid::Timestamps::Timeless do
|
|
|
103
103
|
end
|
|
104
104
|
|
|
105
105
|
it "does not set the created timestamp" do
|
|
106
|
-
document.created_at.
|
|
106
|
+
expect(document.created_at).to be_nil
|
|
107
107
|
end
|
|
108
108
|
|
|
109
109
|
it "does not set the updated timestamp" do
|
|
110
|
-
document.updated_at.
|
|
110
|
+
expect(document.updated_at).to be_nil
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
it "clears out the timeless option after save" do
|
|
@@ -121,7 +121,7 @@ describe Mongoid::Timestamps::Timeless do
|
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
it "sets the updated timestamp" do
|
|
124
|
-
document.updated_at.
|
|
124
|
+
expect(document.updated_at).to_not be_nil
|
|
125
125
|
end
|
|
126
126
|
end
|
|
127
127
|
end
|
|
@@ -49,7 +49,7 @@ describe Mongoid::Timestamps do
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
it "does not run the update callbacks" do
|
|
52
|
-
document.
|
|
52
|
+
expect(document).to receive(:updated_at=).never
|
|
53
53
|
document.save
|
|
54
54
|
end
|
|
55
55
|
end
|
|
@@ -66,7 +66,7 @@ describe Mongoid::Timestamps do
|
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
it "does not set updated at" do
|
|
69
|
-
document.
|
|
69
|
+
expect(document).to receive(:updated_at=).never
|
|
70
70
|
document.save
|
|
71
71
|
end
|
|
72
72
|
end
|
|
@@ -89,7 +89,7 @@ describe Mongoid::Validatable::AssociatedValidator do
|
|
|
89
89
|
end
|
|
90
90
|
|
|
91
91
|
before do
|
|
92
|
-
associated.
|
|
92
|
+
expect(associated).to receive(:validated?).and_return(false)
|
|
93
93
|
validator.validate_each(person, :name, associated)
|
|
94
94
|
end
|
|
95
95
|
|
|
@@ -105,7 +105,7 @@ describe Mongoid::Validatable::AssociatedValidator do
|
|
|
105
105
|
end
|
|
106
106
|
|
|
107
107
|
before do
|
|
108
|
-
associated.
|
|
108
|
+
expect(associated).to receive(:validated?).and_return(false)
|
|
109
109
|
validator.validate_each(person, :name, associated)
|
|
110
110
|
end
|
|
111
111
|
|
|
@@ -139,7 +139,7 @@ describe Mongoid::Validatable::AssociatedValidator do
|
|
|
139
139
|
end
|
|
140
140
|
|
|
141
141
|
before do
|
|
142
|
-
associated.
|
|
142
|
+
expect(associated).to receive(:validated?).and_return(false)
|
|
143
143
|
validator.validate_each(person, :addresses, [ associated ])
|
|
144
144
|
end
|
|
145
145
|
|
|
@@ -155,7 +155,7 @@ describe Mongoid::Validatable::AssociatedValidator do
|
|
|
155
155
|
end
|
|
156
156
|
|
|
157
157
|
before do
|
|
158
|
-
associated.
|
|
158
|
+
expect(associated).to receive(:validated?).and_return(false)
|
|
159
159
|
validator.validate_each(person, :addresses, [ associated ])
|
|
160
160
|
end
|
|
161
161
|
|
|
@@ -101,7 +101,7 @@ describe Mongoid::Validatable::LengthValidator do
|
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
it "adds no errors" do
|
|
104
|
-
product.errors[:sku].
|
|
104
|
+
expect(product.errors[:sku]).to be_empty
|
|
105
105
|
end
|
|
106
106
|
end
|
|
107
107
|
|
|
@@ -112,7 +112,7 @@ describe Mongoid::Validatable::LengthValidator do
|
|
|
112
112
|
end
|
|
113
113
|
|
|
114
114
|
it "adds errors" do
|
|
115
|
-
product.errors[:sku].
|
|
115
|
+
expect(product.errors[:sku]).to eq(["is too long (maximum is 5 characters)"])
|
|
116
116
|
end
|
|
117
117
|
end
|
|
118
118
|
end
|
|
@@ -130,7 +130,7 @@ describe Mongoid::Validatable::LengthValidator do
|
|
|
130
130
|
end
|
|
131
131
|
|
|
132
132
|
it "adds no errors" do
|
|
133
|
-
product.errors[:stock_keeping_unit].
|
|
133
|
+
expect(product.errors[:stock_keeping_unit]).to be_empty
|
|
134
134
|
end
|
|
135
135
|
end
|
|
136
136
|
|
|
@@ -141,7 +141,7 @@ describe Mongoid::Validatable::LengthValidator do
|
|
|
141
141
|
end
|
|
142
142
|
|
|
143
143
|
it "adds errors" do
|
|
144
|
-
product.errors[:stock_keeping_unit].
|
|
144
|
+
expect(product.errors[:stock_keeping_unit]).to eq(["is too long (maximum is 5 characters)"])
|
|
145
145
|
end
|
|
146
146
|
end
|
|
147
147
|
end
|
|
@@ -159,7 +159,7 @@ describe Mongoid::Validatable::LengthValidator do
|
|
|
159
159
|
end
|
|
160
160
|
|
|
161
161
|
it "adds no errors" do
|
|
162
|
-
product.errors[:tagline].
|
|
162
|
+
expect(product.errors[:tagline]).to be_empty
|
|
163
163
|
end
|
|
164
164
|
end
|
|
165
165
|
|
|
@@ -173,7 +173,7 @@ describe Mongoid::Validatable::LengthValidator do
|
|
|
173
173
|
end
|
|
174
174
|
|
|
175
175
|
it "adds errors" do
|
|
176
|
-
product.errors[:tagline].
|
|
176
|
+
expect(product.errors[:tagline]).to eq(["is too long (maximum is 5 characters)"])
|
|
177
177
|
end
|
|
178
178
|
end
|
|
179
179
|
|
|
@@ -184,7 +184,7 @@ describe Mongoid::Validatable::LengthValidator do
|
|
|
184
184
|
end
|
|
185
185
|
|
|
186
186
|
it "adds errors" do
|
|
187
|
-
product.errors[:tagline].
|
|
187
|
+
expect(product.errors[:tagline]).to eq(["is too long (maximum is 5 characters)"])
|
|
188
188
|
end
|
|
189
189
|
end
|
|
190
190
|
end
|