Skip to content

Commit a4e9af8

Browse files
committed
add buyer#person_name (BT-56)
1 parent 186306b commit a4e9af8

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

lib/secretariat/trade_party.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ module Secretariat
1919

2020
TradeParty = Struct.new('TradeParty',
2121
:name, :street1, :street2, :city, :postal_code, :country_id, :vat_id, :global_id, :global_id_scheme_id, :tax_id,
22+
:person_name,
2223
keyword_init: true,
2324
) do
2425
def to_xml(xml, exclude_tax: false, version: 2)
@@ -28,6 +29,11 @@ def to_xml(xml, exclude_tax: false, version: 2)
2829
end
2930
end
3031
xml['ram'].Name name
32+
if person_name
33+
xml['ram'].DefinedTradeContact do
34+
xml['ram'].PersonName person_name
35+
end
36+
end
3137
xml['ram'].PostalTradeAddress do
3238
xml['ram'].PostcodeCode postal_code
3339
xml['ram'].LineOne street1
@@ -53,3 +59,5 @@ def to_xml(xml, exclude_tax: false, version: 2)
5359
end
5460
end
5561
end
62+
63+
# assert_match(%r{<ram:DefinedTradeContact>\s*<ram:PersonName>Max Mustermann</ram:PersonName>\s*</ram:DefinedTradeContact>}, xml)

test/invoice_test.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ def make_de_invoice
174174
)
175175
buyer = TradeParty.new(
176176
name: 'Depfu inc',
177+
person_name: 'Max Mustermann',
177178
street1: 'Quickbornstr. 46',
178179
city: 'Hamburg',
179180
postal_code: '20253',
@@ -596,6 +597,7 @@ def test_invoice_object_extensions
596597
xml = invoice.to_xml(version: 2)
597598

598599
assert_match(/<ram:PaymentReference>#{invoice.payment_reference}<\/ram:PaymentReference>/, xml)
600+
assert_match(%r{<ram:DefinedTradeContact>\s*<ram:PersonName>Max Mustermann</ram:PersonName>\s*</ram:DefinedTradeContact>}, xml)
599601
end
600602
end
601603
end

0 commit comments

Comments
 (0)