-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Look at the current output
1) ReconciliationMatchService call single match NAME_KID_AMOUNT match
Failure/Error:
expect(res)
.to eq(create_hash(:NAME_KID_AMOUNT, {bt1 => [inv1]}))
expected: {:NAME_KID_AMOUNT=>{#<BankTransaction id: 8156, unit_id: 18741, amount: -0.345022e4, currency: "XCD", kid: "fake kid", ref: nil, posting_date: "2024-06-07", created_at: "2024-06-07 09:42:48.891576000 +0000", updated_at: "2024-06-07 09:42:48.891576000 +0000", created_by_id: 1899, transaction_batch_id: nil, is_split: false, transaction_type: "D", invoiceno: nil, counterpart_name: "fake name", parent_id: nil, bank_ref: nil, closed_amount: 0.0, bank_account_id: 1067, bban: "90037768129", counterpart_bban: nil, journal_number: nil, origin_description: nil, meta_description: nil, manual_description: nil, iban: nil, description: " | | ", fully_reconciled: false>=>[#<Invoice id: 8147, invoiceno: "INV-1", created_by_id: 1899, issue_date: "2024-06-07", payment_due_date: "2024-08-07", payable_amount: 0.345022e4, payable_amount_currency_id: 876, created_at: "2024-06-07 09:42:48.837561000 +0000", updated_at: "2024-06-07 09:42:48.837561000 +0000", supplier_identity_id: 19795, customer_identity_id: 19794, supplier_unit_id: 18744, customer_unit_id: 18741, kid: "fake kid", supplier_name: "fake name", customer_name: "Unit factory IGNCELVSOL", supplier_vat_number: nil, supplier_closed_amount: 0.0, customer_closed_amount: 0.0, invoice_type: "invoice", customer_address: nil, supplier_address: nil, supplier_car_id: nil, supplier_department_id: nil, supplier_project_id: nil, customer_number: nil, customer_scheme_identification: nil, customer_identification: nil, customer_website: nil, customer_city: nil, customer_zip: nil, customer_country_code: nil, customer_country_name: nil, customer_contact_name: nil, customer_contact_telephone: nil, customer_contact_email: nil, supplier_scheme_identification: nil, supplier_identification: nil, supplier_website: nil, supplier_city: nil, supplier_zip: nil, supplier_country_code: nil, supplier_country_name: nil, supplier_contact_name: nil, supplier_contact_telephone: nil, supplier_contact_email: nil, supplier_bank_account_id: nil, customer_address_2: nil, supplier_address_2: nil, tax_exclusive_amount: 0.0, customer_contact_telefax: nil, customer_contact_id: nil, customer_person_firstname: nil, customer_person_familyname: nil, supplier_contact_telefax: nil, supplier_contact_id: nil, supplier_person_firstname: nil, supplier_person_familyname: nil, comment_to_customer: nil, supplier_reference: nil, customer_vat_number: nil, supplier_contact_mobile: nil, supplier_bank_account_raw: nil, supplier_bank_account_scheme_identification: nil, customer_bank_account_raw: nil, customer_bank_account_scheme_identification: nil, customer_contact_mobile: nil, supplier_department_name: nil, supplier_department_code: nil, customer_department_name: nil, customer_department_code: nil, supplier_project_name: nil, supplier_project_code: nil, customer_project_name: nil, customer_project_code: nil, customer_project_id: nil, customer_department_id: nil, customer_car_id: nil, customer_car_name: nil, customer_car_code: nil, supplier_car_name: nil, supplier_car_code: nil, date_of_issue: nil, payable_rounding_amount: 0.0, supplier_iban: nil, supplier_swift: nil, punched_closing_reason_id: nil, supplier_payment_date: nil, customer_payment_date: nil, note: nil, tax_total: nil, tax_point_date: nil, tax_currency_code: nil, line_extension_amount: nil, tax_inclusive_amount: nil, allowance_total_amount: nil, charge_total_amount: nil, prepaid_amount: nil, order_reference_id: nil, accounting_cost: nil, customer_car_registration_id: nil, supplier_car_registration_id: nil, supplier_tax_registered: false, local_currency_tax_total: nil, supplier_country_subentity: nil, customer_country_subentity: nil, customer_address_3: nil, supplier_address_3: nil, despatch_document_reference_id: nil, receipt_document_reference_id: nil, originator_document_reference_id: nil, order_reference_sales_order_id: nil, project_reference_id: nil, supplier_bban: nil, supplier_fully_reconciled: false, customer_fully_reconciled: false>]}, :NAME_INVOICENO_AMOUNT=>{}, :KID_AMOUNT=>{}, :INVOICENO_AMOUNT=>{}, :NAME_KID=>{}, :NAME_INVOICENO=>{}, :NAME_AMOUNT=>{}, :KID=>{}, :INVOICENO=>{}, :NAME=>{}, :AMOUNT=>{}}
got: {:NAME_KID_AMOUNT=>{#<BankTransaction id: 8156, unit_id: 18741, amount: -0.345022e4, currency: "XCD", kid: "fake kid", ref: nil, posting_date: "2024-06-07", created_at: "2024-06-07 09:42:48.891576000 +0000", updated_at: "2024-06-07 09:42:48.891576000 +0000", created_by_id: 1899, transaction_batch_id: nil, is_split: false, transaction_type: "D", invoiceno: nil, counterpart_name: "fake name", parent_id: nil, bank_ref: nil, closed_amount: 0.0, bank_account_id: 1067, bban: "90037768129", counterpart_bban: nil, journal_number: nil, origin_description: nil, meta_description: nil, manual_description: nil, iban: nil, description: " | | ", fully_reconciled: false>=>[#<Purchase id: 8147, invoice_id: 8147, created_at: "2024-06-07 09:42:48.837561000 +0000", updated_at: "2024-06-07 09:42:48.837561000 +0000", created_by_id: 1899>]}, :NAME_INVOICENO_AMOUNT=>{}, :KID_AMOUNT=>{}, :INVOICENO_AMOUNT=>{}, :NAME_KID=>{}, :KID=>{}, :NAME_AMOUNT=>{}, :AMOUNT=>{}, :NAME_INVOICENO=>{}, :INVOICENO=>{}, :NAME=>{}}
(compared using ==)
Diff:
�[36m@@ +0/-0/~1 @@
�[0m�[33m new value: NAME_KID_AMOUNT.#<BankTransaction id: 8156, unit_id: 18741, amount: -0.345022e4, currency: "XCD", kid: "fake kid", ref: nil, posting_date: "2024-06-07", created_at: "2024-06-07 09:42:48.891576000 +0000", updated_at: "2024-06-07 09:42:48.891576000 +0000", created_by_id: 1899, transaction_batch_id: nil, is_split: false, transaction_type: "D", invoiceno: nil, counterpart_name: "fake name", parent_id: nil, bank_ref: nil, closed_amount: 0.0, bank_account_id: 1067, bban: "90037768129", counterpart_bban: nil, journal_number: nil, origin_description: nil, meta_description: nil, manual_description: nil, iban: nil, description: " | | ", fully_reconciled: false>[0] (#<Invoice id: 8147, invoiceno: "INV-1", created_by_id: 1899, issue_date: "2024-06-07", payment_due_date: "2024-08-07", payable_amount: 0.345022e4, payable_amount_currency_id: 876, created_at: "2024-06-07 09:42:48.837561000 +0000", updated_at: "2024-06-07 09:42:48.837561000 +0000", supplier_identity_id: 19795, customer_identity_id: 19794, supplier_unit_id: 18744, customer_unit_id: 18741, kid: "fake kid", supplier_name: "fake name", customer_name: "Unit factory IGNCELVSOL", supplier_vat_number: nil, supplier_closed_amount: 0.0, customer_closed_amount: 0.0, invoice_type: "invoice", customer_address: nil, supplier_address: nil, supplier_car_id: nil, supplier_department_id: nil, supplier_project_id: nil, customer_number: nil, customer_scheme_identification: nil, customer_identification: nil, customer_website: nil, customer_city: nil, customer_zip: nil, customer_country_code: nil, customer_country_name: nil, customer_contact_name: nil, customer_contact_telephone: nil, customer_contact_email: nil, supplier_scheme_identification: nil, supplier_identification: nil, supplier_website: nil, supplier_city: nil, supplier_zip: nil, supplier_country_code: nil, supplier_country_name: nil, supplier_contact_name: nil, supplier_contact_telephone: nil, supplier_contact_email: nil, supplier_bank_account_id: nil, customer_address_2: nil, supplier_address_2: nil, tax_exclusive_amount: 0.0, customer_contact_telefax: nil, customer_contact_id: nil, customer_person_firstname: nil, customer_person_familyname: nil, supplier_contact_telefax: nil, supplier_contact_id: nil, supplier_person_firstname: nil, supplier_person_familyname: nil, comment_to_customer: nil, supplier_reference: nil, customer_vat_number: nil, supplier_contact_mobile: nil, supplier_bank_account_raw: nil, supplier_bank_account_scheme_identification: nil, customer_bank_account_raw: nil, customer_bank_account_scheme_identification: nil, customer_contact_mobile: nil, supplier_department_name: nil, supplier_department_code: nil, customer_department_name: nil, customer_department_code: nil, supplier_project_name: nil, supplier_project_code: nil, customer_project_name: nil, customer_project_code: nil, customer_project_id: nil, customer_department_id: nil, customer_car_id: nil, customer_car_name: nil, customer_car_code: nil, supplier_car_name: nil, supplier_car_code: nil, date_of_issue: nil, payable_rounding_amount: 0.0, supplier_iban: nil, supplier_swift: nil, punched_closing_reason_id: nil, supplier_payment_date: nil, customer_payment_date: nil, note: nil, tax_total: nil, tax_point_date: nil, tax_currency_code: nil, line_extension_amount: nil, tax_inclusive_amount: nil, allowance_total_amount: nil, charge_total_amount: nil, prepaid_amount: nil, order_reference_id: nil, accounting_cost: nil, customer_car_registration_id: nil, supplier_car_registration_id: nil, supplier_tax_registered: false, local_currency_tax_total: nil, supplier_country_subentity: nil, customer_country_subentity: nil, customer_address_3: nil, supplier_address_3: nil, despatch_document_reference_id: nil, receipt_document_reference_id: nil, originator_document_reference_id: nil, order_reference_sales_order_id: nil, project_reference_id: nil, supplier_bban: nil, supplier_fully_reconciled: false, customer_fully_reconciled: false> -> #<Purchase id: 8147, invoice_id: 8147, created_at: "2024-06-07 09:42:48.837561000 +0000", updated_at: "2024-06-07 09:42:48.837561000 +0000", created_by_id: 1899>)
�[0m
# ./spec/services/reconciliation_match_service_spec.rb:53:in `block (4 levels) in <main>'
I don't know If this is a good solution but we could do something like this to split it on new lines to make it faster to scan for the eye.
Changes
UNSTAGED CHANGES
--
lib/specdiff/differ/hash.rb | 43 +++++++++++++++++++++++++++++++++----------
1 file changed, 33 insertions(+), 10 deletions(-)
diff --git a/lib/specdiff/differ/hash.rb b/lib/specdiff/differ/hash.rb
index 16c50ed..df5c29c 100644
--- a/lib/specdiff/differ/hash.rb
+++ b/lib/specdiff/differ/hash.rb
@@ -140,7 +140,24 @@ class Specdiff::Differ::Hash
from_inspected = ::Specdiff.diff_inspect(from)
to_inspected = ::Specdiff.diff_inspect(to)
- result << " new value: #{path} (#{from_inspected} -> #{to_inspected})"
+
+ if path.include?("\n")
+ result << " new value: \n #{path.split("\n").join("\n ")}"
+ else
+ result << " new value: #{path}"
+ end
+
+ if (from_inspected.length + to_inspected.length) < 100
+ result << " (#{from_inspected} -> #{to_inspected})"
+ else
+ result << <<~TXT
+ (
+ #{from_inspected}
+ ->
+ #{to_inspected}
+ )
+ TXT
+ end
result << NEWLINE
end
@@ -162,23 +179,29 @@ class Specdiff::Differ::Hash
PATH_SEPARATOR = ".".freeze
def self._stringify_path(path)
- result = +""
-
- path.each do |component|
+ path_entries = path.map do |component|
if component.is_a?(Numeric)
- result.chomp!(PATH_SEPARATOR)
- result << "[#{component}]"
+ "[#{component}]"
elsif component.is_a?(Symbol)
# by not inspecting symbols they look prettier than strings, but you
# can still tell the difference in the printed output
- result << component.to_s
+ component.to_s
else
- result << component.inspect
+ component.inspect
end
+ end
- result << PATH_SEPARATOR
+ single_line_result = path_entries.join(PATH_SEPARATOR)
+ if single_line_result.length < 100
+ return single_line_result
end
- result.chomp(PATH_SEPARATOR)
+ path_entries.each_with_index.sum("") do |entry, i|
+ if i == 0
+ "#{entry}\n"
+ else
+ "#{" " * i}↘ #{entry}\n"
+ end
+ end
end
end
Diff:
@@ +0/-0/~1 @@
new value:
NAME_KID_AMOUNT
↘ #<BankTransaction id: 8155, unit_id: 18735, amount: -0.345022e4, currency: "HTG", kid: "fake kid", ref: nil, posting_date: "2024-06-07", created_at: "2024-06-07 09:36:59.961283000 +0000", updated_at: "2024-06-07 09:36:59.961283000 +0000", created_by_id: 1899, transaction_batch_id: nil, is_split: false, transaction_type: "D", invoiceno: nil, counterpart_name: "fake name", parent_id: nil, bank_ref: nil, closed_amount: 0.0, bank_account_id: 1066, bban: "87769248445", counterpart_bban: nil, journal_number: nil, origin_description: nil, meta_description: nil, manual_description: nil, iban: nil, description: " | | ", fully_reconciled: false>
↘ [0](
#<Invoice id: 8146, invoiceno: "INV-1", created_by_id: 1899, issue_date: "2024-06-07", payment_due_date: "2024-08-07", payable_amount: 0.345022e4, payable_amount_currency_id: 875, created_at: "2024-06-07 09:36:59.907105000 +0000", updated_at: "2024-06-07 09:36:59.907105000 +0000", supplier_identity_id: 19786, customer_identity_id: 19785, supplier_unit_id: 18738, customer_unit_id: 18735, kid: "fake kid", supplier_name: "fake name", customer_name: "Unit factory NEIQNULXUE", supplier_vat_number: nil, supplier_closed_amount: 0.0, customer_closed_amount: 0.0, invoice_type: "invoice", customer_address: nil, supplier_address: nil, supplier_car_id: nil, supplier_department_id: nil, supplier_project_id: nil, customer_number: nil, customer_scheme_identification: nil, customer_identification: nil, customer_website: nil, customer_city: nil, customer_zip: nil, customer_country_code: nil, customer_country_name: nil, customer_contact_name: nil, customer_contact_telephone: nil, customer_contact_email: nil, supplier_scheme_identification: nil, supplier_identification: nil, supplier_website: nil, supplier_city: nil, supplier_zip: nil, supplier_country_code: nil, supplier_country_name: nil, supplier_contact_name: nil, supplier_contact_telephone: nil, supplier_contact_email: nil, supplier_bank_account_id: nil, customer_address_2: nil, supplier_address_2: nil, tax_exclusive_amount: 0.0, customer_contact_telefax: nil, customer_contact_id: nil, customer_person_firstname: nil, customer_person_familyname: nil, supplier_contact_telefax: nil, supplier_contact_id: nil, supplier_person_firstname: nil, supplier_person_familyname: nil, comment_to_customer: nil, supplier_reference: nil, customer_vat_number: nil, supplier_contact_mobile: nil, supplier_bank_account_raw: nil, supplier_bank_account_scheme_identification: nil, customer_bank_account_raw: nil, customer_bank_account_scheme_identification: nil, customer_contact_mobile: nil, supplier_department_name: nil, supplier_department_code: nil, customer_department_name: nil, customer_department_code: nil, supplier_project_name: nil, supplier_project_code: nil, customer_project_name: nil, customer_project_code: nil, customer_project_id: nil, customer_department_id: nil, customer_car_id: nil, customer_car_name: nil, customer_car_code: nil, supplier_car_name: nil, supplier_car_code: nil, date_of_issue: nil, payable_rounding_amount: 0.0, supplier_iban: nil, supplier_swift: nil, punched_closing_reason_id: nil, supplier_payment_date: nil, customer_payment_date: nil, note: nil, tax_total: nil, tax_point_date: nil, tax_currency_code: nil, line_extension_amount: nil, tax_inclusive_amount: nil, allowance_total_amount: nil, charge_total_amount: nil, prepaid_amount: nil, order_reference_id: nil, accounting_cost: nil, customer_car_registration_id: nil, supplier_car_registration_id: nil, supplier_tax_registered: false, local_currency_tax_total: nil, supplier_country_subentity: nil, customer_country_subentity: nil, customer_address_3: nil, supplier_address_3: nil, despatch_document_reference_id: nil, receipt_document_reference_id: nil, originator_document_reference_id: nil, order_reference_sales_order_id: nil, project_reference_id: nil, supplier_bban: nil, supplier_fully_reconciled: false, customer_fully_reconciled: false>
->
#<Purchase id: 8146, invoice_id: 8146, created_at: "2024-06-07 09:36:59.907105000 +0000", updated_at: "2024-06-07 09:36:59.907105000 +0000", created_by_id: 1899>
)
# ./spec/services/reconciliation_match_service_spec.rb:53:in `block (4 levels) in <main>'
Metadata
Metadata
Assignees
Labels
No labels