Sha256: ac5cae6a147e5b5623e6e0a6358820492baccfc86b90b60747583ca0038d53f2
Contents?: true
Size: 1.81 KB
Versions: 3
Compression:
Stored size: 1.81 KB
Contents
require "./spec/spec_helper" describe Economic::Entity::Mapper do let(:entity) { double("Entity", :handle => Economic::Entity::Handle.new(:id => 42), :creditor_handle => Economic::Entity::Handle.new(:number => 37), :name => "David Brent", :is_to_receive_email_copy_of_order => true) } let(:fields) { [ ["Handle", :handle, proc { |v| v.to_hash }, :required], ["CreditorHandle", :creditor_handle, proc { |v| {"Number" => v[:number]} }], ["Id", :handle, proc { |v| v.id }, :required], ["Name", :name], ["IsToReceiveEmailCopyOfOrder", :is_to_receive_email_copy_of_order, proc { |v| v || false }, :required] ] } subject { Economic::Entity::Mapper.new(entity, fields) } describe "#to_hash" do it "returns a Hash with fields as per the field descriptions" do expect(subject.to_hash).to eq("Handle" => {"Id" => 42}, "CreditorHandle" => {"Number" => 37}, "Id" => 42, "Name" => "David Brent", "IsToReceiveEmailCopyOfOrder" => true) end end describe "when entity has no values" do let(:entity) { double("Entity", :handle => Economic::Entity::Handle.new({}), :creditor_handle => nil, :name => nil, :number => nil, :is_to_receive_email_copy_of_order => nil) } subject { Economic::Entity::Mapper.new(entity, fields) } it "returns the minimal set of required fields" do expect(subject.to_hash).to eq("Handle" => {}, "Id" => nil, "IsToReceiveEmailCopyOfOrder" => false) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rconomic-0.7.0 | spec/economic/entity/mapper_spec.rb |
rconomic-0.6.1 | spec/economic/entity/mapper_spec.rb |
rconomic-0.6.0 | spec/economic/entity/mapper_spec.rb |