spec/lib/mongoid/kms_spec.rb in mongoid-kms-0.0.14 vs spec/lib/mongoid/kms_spec.rb in mongoid-kms-0.0.15
- old
+ new
@@ -1,34 +1,51 @@
require 'spec_helper'
describe Mongoid::Kms do
it "encrypts the secure fields" do
- o = MyClass.new(unsecure: "robin")
- o.secure = "batman"
+ o = MyClass.new(secure: "batman", unsecure: "robin")
o.save!
expect(o.secure).to eq("batman")
expect(o.kms_secure_secure).to_not be_nil
end
it "descripts the secure fields" do
- o = MyClass.new(unsecure: "robin")
- o.secure = "batman"
+ o = MyClass.new(unsecure: "robin", secure: "batman")
o.save!
o = MyClass.find(o.id)
expect(o.secure).to eq("batman")
expect(o.unsecure).to eq("robin")
end
- it "encrypts teh other fields" do
- o = OtherClass.new(unsecure: "pengiun")
- o.super_secure = "joker"
+ it "encrypts the other fields" do
+ o = OtherClass.new(unsecure: "pengiun", super_secure: "joker")
o.save!
o = OtherClass.find(o.id)
expect(o.super_secure).to eq("joker")
expect(o.unsecure).to eq("pengiun")
+ end
+
+ it "modifies the encryption if the context field changes" do
+ o = MyClass.new(unsecure: "robin", secure: "other")
+ o.save!
+
+ o = MyClass.find(o.id)
+ o.unsecure = "bla"
+ o.save!
+
+ o = MyClass.find(o.id)
+ expect(o.secure).to eq("other")
+ end
+
+ it "handles a class without context" do
+ o = MyClass.new(secure: "bla", unsecure: "blatoo")
+ o.save!
+
+ o = MyClass.find(o.id)
+ expect(o.secure).to eq("bla")
end
end