From 8d37c22c04031c5b860abe987d5935b3a5cda598 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Wed, 14 Jul 2021 16:35:06 +0300 Subject: [PATCH 1/2] added test for reproduce the issue --- test/models/bank_transaction_test.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/models/bank_transaction_test.rb b/test/models/bank_transaction_test.rb index 46ac54d3c..0520e8783 100644 --- a/test/models/bank_transaction_test.rb +++ b/test/models/bank_transaction_test.rb @@ -180,6 +180,19 @@ class BankTransactionTest < ActiveSupport::TestCase statement.description = "all invalid 12 123 55 77777 --" assert_nil statement.parsed_ref_number end + + def test_manual_bind_with_wrong_ref_number + invoice_ref_no = '1111' + bank_transaction_ref_no = '9999' + create_payable_invoice(number: '2222', total: 10, reference_no: invoice_ref_no) + transaction = BankTransaction.new(description: 'invoice #2222', + sum: 10, + reference_no: bank_transaction_ref_no) + + assert_difference 'AccountActivity.count' do + transaction.bind_invoice('2222') + end + end private def create_payable_invoice(attributes) From 5b0505e124e3eea74b1b845d6d198b2da3dd6172 Mon Sep 17 00:00:00 2001 From: dinsmol Date: Mon, 19 Jul 2021 17:40:46 +0300 Subject: [PATCH 2/2] fixed undef. method settings error --- app/models/bank_transaction.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/bank_transaction.rb b/app/models/bank_transaction.rb index ae4fbf51b..68b48995f 100644 --- a/app/models/bank_transaction.rb +++ b/app/models/bank_transaction.rb @@ -92,7 +92,7 @@ class BankTransaction < ApplicationRecord activity_type: AccountActivity::ADD_CREDIT) if activity.save - reset_pending_registrar_balance_reload + reset_pending_registrar_balance_reload registrar true else false @@ -105,7 +105,7 @@ class BankTransaction < ApplicationRecord private - def reset_pending_registrar_balance_reload + def reset_pending_registrar_balance_reload(registrar) return unless registrar.settings['balance_auto_reload'] registrar.settings['balance_auto_reload'].delete('pending')