spec/lib/mongoid/kms_spec.rb in mongoid-kms-0.0.32 vs spec/lib/mongoid/kms_spec.rb in mongoid-kms-0.0.33
- old
+ new
@@ -17,9 +17,64 @@
o = MyClass.find(o.id)
expect(o.secure).to eq("batman")
expect(o.unsecure).to eq("robin")
end
+ it "ingores nil on create" do
+ o = MyClass.new(unsecure: "robin", secure: nil)
+ o.save!
+
+ o = MyClass.find(o.id)
+ expect(o.secure).to be_nil
+ expect(o.unsecure).to eq("robin")
+ end
+
+ it "ingores empty string on create" do
+ o = MyClass.new(unsecure: "robin", secure: "")
+ o.save!
+
+ o = MyClass.find(o.id)
+ expect(o.secure).to be_nil
+ expect(o.unsecure).to eq("robin")
+ end
+
+ it "sets nil on update" do
+ o = MyClass.new(unsecure: "robin", secure: "old-secure-value")
+ o.save!
+
+ o.update_attributes!(secure: nil)
+
+ o = MyClass.find(o.id)
+ expect(o.secure).to be_nil
+ expect(o.unsecure).to eq("robin")
+ end
+
+ it "sets empty string on update" do
+ o = MyClass.new(unsecure: "robin", secure: "old-secure-value")
+ o.save!
+
+ o.secure = ""
+ o.save!
+
+ o = MyClass.find(o.id)
+ expect(o.secure).to be_nil
+ expect(o.unsecure).to eq("robin")
+ end
+
+ it "udpates nil values properly" do
+ o = MyClass.new(unsecure: "robin", secure: nil)
+ o.save!
+
+ o.secure = "batman"
+ o.save!
+
+ o = MyClass.find(o.id)
+ expect(o.secure).to eq("batman")
+ expect(o.unsecure).to eq("robin")
+ end
+
+
+
it "encrypts the other fields" do
o = OtherClass.new(unsecure: "pengiun", super_secure: "joker")
o.save!
o = OtherClass.find(o.id)