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