Skip to content

Commit e78a7ee

Browse files
authored
MONGOID-5261 Use config_override when a test requires a certain configuration option value (#5479)
* MONGOID-5261 Use config_override when a test requires a certain configuration option value * fix syntax error * MONGOID-5261 a little more cleanup * MONGOID-5261 more cleanup * more clean up * MONGOID-5261 add persistence context override * MONGOID-5261 add comment
1 parent dbbaee7 commit e78a7ee

File tree

15 files changed

+113
-331
lines changed

15 files changed

+113
-331
lines changed

spec/integration/discriminator_key_spec.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,9 @@ class GlobalIntDiscriminatorChild < GlobalIntDiscriminatorParent
8181
end
8282

8383
context "before class creation" do
84+
config_override :discriminator_key, "test"
85+
8486
before do
85-
Mongoid.discriminator_key = "test"
8687

8788
class PreGlobalIntDiscriminatorParent
8889
include Mongoid::Document
@@ -93,7 +94,6 @@ class PreGlobalIntDiscriminatorChild < PreGlobalIntDiscriminatorParent
9394
end
9495

9596
after do
96-
Mongoid.discriminator_key = "_type"
9797
Object.send(:remove_const, :PreGlobalIntDiscriminatorParent)
9898
Object.send(:remove_const, :PreGlobalIntDiscriminatorChild)
9999
end
@@ -336,9 +336,9 @@ class Example2Rectangle < Example2Shape
336336
end
337337

338338
context "Example 3" do
339-
before do
340-
Mongoid.discriminator_key = "shape_type"
339+
config_override :discriminator_key, "shape_type"
341340

341+
before do
342342
class Example3Shape
343343
include Mongoid::Document
344344
field :x, type: Integer
@@ -358,7 +358,6 @@ class Example3Rectangle < Example3Shape
358358
end
359359

360360
after do
361-
Mongoid.discriminator_key = "_type"
362361
Object.send(:remove_const, :Example3Shape)
363362
Object.send(:remove_const, :Example3Circle)
364363
Object.send(:remove_const, :Example3Rectangle)

spec/mongoid/association/embedded/embeds_many/proxy_spec.rb

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2352,10 +2352,7 @@ class TrackingIdValidationHistory
23522352
context "when the id does not match" do
23532353

23542354
context "when config set to raise error" do
2355-
2356-
before do
2357-
Mongoid.raise_not_found_error = true
2358-
end
2355+
config_override :raise_not_found_error, true
23592356

23602357
it "raises an error" do
23612358
expect {
@@ -2365,19 +2362,12 @@ class TrackingIdValidationHistory
23652362
end
23662363

23672364
context "when config set not to raise error" do
2365+
config_override :raise_not_found_error, false
23682366

23692367
let(:address) do
23702368
person.addresses.find(BSON::ObjectId.new)
23712369
end
23722370

2373-
before do
2374-
Mongoid.raise_not_found_error = false
2375-
end
2376-
2377-
after do
2378-
Mongoid.raise_not_found_error = true
2379-
end
2380-
23812371
it "returns nil" do
23822372
expect(address).to be_nil
23832373
end
@@ -2401,10 +2391,7 @@ class TrackingIdValidationHistory
24012391
context "when the ids do not match" do
24022392

24032393
context "when config set to raise error" do
2404-
2405-
before do
2406-
Mongoid.raise_not_found_error = true
2407-
end
2394+
config_override :raise_not_found_error, true
24082395

24092396
it "raises an error" do
24102397
expect {
@@ -2414,19 +2401,12 @@ class TrackingIdValidationHistory
24142401
end
24152402

24162403
context "when config set not to raise error" do
2404+
config_override :raise_not_found_error, false
24172405

24182406
let(:addresses) do
24192407
person.addresses.find([ BSON::ObjectId.new ])
24202408
end
24212409

2422-
before do
2423-
Mongoid.raise_not_found_error = false
2424-
end
2425-
2426-
after do
2427-
Mongoid.raise_not_found_error = true
2428-
end
2429-
24302410
it "returns an empty array" do
24312411
expect(addresses).to be_empty
24322412
end

spec/mongoid/association/referenced/belongs_to_spec.rb

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -546,17 +546,7 @@ class BelongingObject; include Mongoid::Document; end
546546
end
547547

548548
context 'when the global config option is true' do
549-
550-
around(:example) do |example|
551-
original_config = Mongoid.belongs_to_required_by_default
552-
Mongoid.belongs_to_required_by_default = true
553-
example.run
554-
Mongoid.belongs_to_required_by_default = original_config
555-
end
556-
557-
let!(:original_required_config) do
558-
Mongoid.belongs_to_required_by_default
559-
end
549+
config_override :belongs_to_required_by_default, true
560550

561551
context 'when the required option is true' do
562552

@@ -684,13 +674,7 @@ class BelongingObject; include Mongoid::Document; end
684674
end
685675

686676
context 'when the global config option is false' do
687-
688-
around(:example) do |example|
689-
original_config = Mongoid.belongs_to_required_by_default
690-
Mongoid.belongs_to_required_by_default = false
691-
example.run
692-
Mongoid.belongs_to_required_by_default = original_config
693-
end
677+
config_override :belongs_to_required_by_default, false
694678

695679
context 'when the required option is true' do
696680

spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
require_relative "../has_and_belongs_to_many_models"
55

66
describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
7+
config_override :raise_not_found_error, true
78

89
around(:each) do |example|
9-
original_raise_not_found_error = Mongoid.raise_not_found_error
1010
original_preferences_association = Person.relations["preferences"]
11-
Mongoid.raise_not_found_error = true
1211
Person.has_and_belongs_to_many :preferences, autosave: true
1312
example.run
14-
Mongoid.raise_not_found_error = original_raise_not_found_error
1513
Person.relations["preferences"] = original_preferences_association
1614
end
1715

@@ -2523,10 +2521,7 @@
25232521
context "when the id does not match" do
25242522

25252523
context "when config set to raise error" do
2526-
2527-
before do
2528-
Mongoid.raise_not_found_error = true
2529-
end
2524+
config_override :raise_not_found_error, true
25302525

25312526
it "raises an error" do
25322527
expect {
@@ -2536,19 +2531,12 @@
25362531
end
25372532

25382533
context "when config set not to raise error" do
2534+
config_override :raise_not_found_error, false
25392535

25402536
let(:preference) do
25412537
person.preferences.find(BSON::ObjectId.new)
25422538
end
25432539

2544-
before do
2545-
Mongoid.raise_not_found_error = false
2546-
end
2547-
2548-
after do
2549-
Mongoid.raise_not_found_error = true
2550-
end
2551-
25522540
it "returns nil" do
25532541
expect(preference).to be_nil
25542542
end
@@ -2587,10 +2575,7 @@
25872575
context "when the ids do not match" do
25882576

25892577
context "when config set to raise error" do
2590-
2591-
before do
2592-
Mongoid.raise_not_found_error = true
2593-
end
2578+
config_override :raise_not_found_error, true
25942579

25952580
it "raises an error" do
25962581
expect {
@@ -2600,19 +2585,12 @@
26002585
end
26012586

26022587
context "when config set not to raise error" do
2588+
config_override :raise_not_found_error, false
26032589

26042590
let(:preferences) do
26052591
person.preferences.find([ BSON::ObjectId.new ])
26062592
end
26072593

2608-
before do
2609-
Mongoid.raise_not_found_error = false
2610-
end
2611-
2612-
after do
2613-
Mongoid.raise_not_found_error = true
2614-
end
2615-
26162594
it "returns an empty array" do
26172595
expect(preferences).to be_empty
26182596
end

spec/mongoid/association/referenced/has_many/proxy_spec.rb

Lines changed: 9 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,9 @@
33
require "spec_helper"
44

55
describe Mongoid::Association::Referenced::HasMany::Proxy do
6+
config_override :raise_not_found_error, true
67

78
before :all do
8-
Mongoid.raise_not_found_error = true
9-
109
Drug.belongs_to :person, primary_key: :username
1110
Person.has_many :drugs, validate: false, primary_key: :username
1211
end
@@ -2547,10 +2546,7 @@
25472546
context "when the id does not match" do
25482547

25492548
context "when config set to raise error" do
2550-
2551-
before do
2552-
Mongoid.raise_not_found_error = true
2553-
end
2549+
config_override :raise_not_found_error, true
25542550

25552551
it "raises an error" do
25562552
expect {
@@ -2560,19 +2556,12 @@
25602556
end
25612557

25622558
context "when config set not to raise error" do
2559+
config_override :raise_not_found_error, false
25632560

25642561
let(:post) do
25652562
person.posts.find(BSON::ObjectId.new)
25662563
end
25672564

2568-
before do
2569-
Mongoid.raise_not_found_error = false
2570-
end
2571-
2572-
after do
2573-
Mongoid.raise_not_found_error = true
2574-
end
2575-
25762565
it "returns nil" do
25772566
expect(post).to be_nil
25782567
end
@@ -2596,10 +2585,7 @@
25962585
context "when the ids do not match" do
25972586

25982587
context "when config set to raise error" do
2599-
2600-
before do
2601-
Mongoid.raise_not_found_error = true
2602-
end
2588+
config_override :raise_not_found_error, true
26032589

26042590
it "raises an error" do
26052591
expect {
@@ -2609,19 +2595,12 @@
26092595
end
26102596

26112597
context "when config set not to raise error" do
2598+
config_override :raise_not_found_error, false
26122599

26132600
let(:posts) do
26142601
person.posts.find([ BSON::ObjectId.new ])
26152602
end
26162603

2617-
before do
2618-
Mongoid.raise_not_found_error = false
2619-
end
2620-
2621-
after do
2622-
Mongoid.raise_not_found_error = true
2623-
end
2624-
26252604
it "returns an empty array" do
26262605
expect(posts).to be_empty
26272606
end
@@ -2660,10 +2639,7 @@
26602639
context "when the id does not match" do
26612640

26622641
context "when config set to raise error" do
2663-
2664-
before do
2665-
Mongoid.raise_not_found_error = true
2666-
end
2642+
config_override :raise_not_found_error, true
26672643

26682644
it "raises an error" do
26692645
expect {
@@ -2673,19 +2649,12 @@
26732649
end
26742650

26752651
context "when config set not to raise error" do
2652+
config_override :raise_not_found_error, false
26762653

26772654
let(:rating) do
26782655
movie.ratings.find(BSON::ObjectId.new)
26792656
end
26802657

2681-
before do
2682-
Mongoid.raise_not_found_error = false
2683-
end
2684-
2685-
after do
2686-
Mongoid.raise_not_found_error = true
2687-
end
2688-
26892658
it "returns nil" do
26902659
expect(rating).to be_nil
26912660
end
@@ -2717,10 +2686,7 @@
27172686
context "when the ids do not match" do
27182687

27192688
context "when config set to raise error" do
2720-
2721-
before do
2722-
Mongoid.raise_not_found_error = true
2723-
end
2689+
config_override :raise_not_found_error, true
27242690

27252691
it "raises an error" do
27262692
expect {
@@ -2730,19 +2696,12 @@
27302696
end
27312697

27322698
context "when config set not to raise error" do
2699+
config_override :raise_not_found_error, false
27332700

27342701
let(:ratings) do
27352702
movie.ratings.find([ BSON::ObjectId.new ])
27362703
end
27372704

2738-
before do
2739-
Mongoid.raise_not_found_error = false
2740-
end
2741-
2742-
after do
2743-
Mongoid.raise_not_found_error = true
2744-
end
2745-
27462705
it "returns an empty array" do
27472706
expect(ratings).to be_empty
27482707
end

spec/mongoid/association/syncable_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
require "spec_helper"
44

55
describe "Syncable Association" do
6+
config_override :raise_not_found_error, true
67

78
before(:all) do
8-
Mongoid.raise_not_found_error = true
99
Person._synced(Person.relations["preferences"])
1010
Person.has_and_belongs_to_many :preferences
1111
Preference.has_and_belongs_to_many :people

0 commit comments

Comments
 (0)