spec/lib/shamu/entities/entity_spec.rb in shamu-0.0.18 vs spec/lib/shamu/entities/entity_spec.rb in shamu-0.0.19
- old
+ new
@@ -9,17 +9,37 @@
attribute :name, on: :user
attribute :email, on: :user
end
end
- describe "#to_attributes" do
+ context "with instance" do
let( :user ) { OpenStruct.new( name: "Heisenberg", email: "blue@rock.com" ) }
let( :instance ) { klass.new( user: user ) }
- it "does not include model attributes" do
- expect( instance.to_attributes ).not_to have_key :user
+ describe "#to_attributes" do
+
+ it "does not include model attributes" do
+ expect( instance.to_attributes ).not_to have_key :user
+ end
end
+
+ describe "#redact" do
+ it "clears the assigned attribute" do
+ redacted = instance.redact( :name )
+ expect( redacted.name ).to be_nil
+ end
+
+ it "it returns instance of the same type" do
+ redacted = instance.redact( :name )
+ expect( redacted ).to be_a klass
+ end
+
+ it "assigns redacted values" do
+ redacted = instance.redact( name: "REDACTED" )
+ expect( redacted.name ).to eq "REDACTED"
+ end
+ end
end
{
"SetEntity" => "Set",
"Set" => "Set",
@@ -51,6 +71,6 @@
end
expect( klass.null_entity.new.name ).to eq "Unknown"
end
end
-end
\ No newline at end of file
+end