spec/models/shard_spec.rb in switchman-1.3.13.pre.1 vs spec/models/shard_spec.rb in switchman-1.3.13
- old
+ new
@@ -451,77 +451,7 @@
expect(Shard.shard_for(Shard.global_id_for(local_id))).to eq Shard.current
end
end
end
end
-
- describe ".default" do
-
- after(:each) do
- Shard.unstub(:where)
- Shard.default(reload: true)
- end
-
- it "returns the cached value if default is already set" do
- Shard.instance_variable_set(:@default, DefaultShard.instance)
- expect(Shard.default).to eq(DefaultShard.instance)
- end
-
- it "loads a default value if cached value is nil" do
- Shard.instance_variable_set(:@default, nil)
- expect(Shard.default).to be_a(Switchman::Shard)
- end
-
- it "reloads the default shard even when it's set when the reload arg present" do
- Shard.instance_variable_set(:@default, DefaultShard.instance)
- expect(Shard.default(true)).to be_a(Switchman::Shard)
- end
-
- context "when using reload with_fallback" do
- it "replaces DefaultShard instance if cached" do
- Shard.instance_variable_set(:@default, DefaultShard.instance)
- expect(Shard.default(reload: true, with_fallback: true)).to be_a(Switchman::Shard)
- end
-
- it "replaces a Shard instance if replacement query successful" do
- non_default = Shard.where(default: false).first
- actual_default = Shard.where(default:true).first
- expect(non_default).to_not be(nil)
- expect(actual_default).to_not be(nil)
- Shard.instance_variable_set(:@default, non_default)
- Shard.stubs(:where).with(default: true).returns([actual_default])
- new_default = Shard.default(reload: true, with_fallback: true)
- expect(new_default).to eq(actual_default)
- end
-
- it "uses the default shard instance when fallback is off" do
- non_default = Shard.where(default: false).first
- actual_default = Shard.where(default:true).first
- Shard.instance_variable_set(:@default, non_default)
- Shard.stubs(:where).with(default: true).raises(PG::UnableToSend)
- new_default = Shard.default(reload: true, with_fallback: false)
- expect(new_default).to eq(DefaultShard.instance)
- end
-
- it "falls back to existing default shard if replacement query fails" do
- non_default = Shard.where(default: false).first
- Shard.instance_variable_set(:@default, non_default)
- Shard.stubs(:where).with(default: true).raises(PG::UnableToSend)
- new_default = Shard.default(reload: true, with_fallback: true)
- expect(new_default).to eq(non_default)
- end
-
- it "respects a false reload even with fallback" do
- Shard.instance_variable_set(:@default, DefaultShard.instance)
- expect(Shard.default(reload: false, with_fallback: true)).to eq(DefaultShard.instance)
- end
-
- it "uses the original positional parameter if provided (will go away ultimately, remove this spec then)" do
- Shard.instance_variable_set(:@default, DefaultShard.instance)
- expect(Shard.default(true, reload: false, with_fallback: false)).to be_a(Switchman::Shard)
- end
- end
-
- end
-
end
end