From a43a1ac3e3205fd4ffbbb36c7b3a5eef6d1994b3 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Thu, 4 Oct 2018 12:48:13 +0300 Subject: [PATCH] Match bank transaction against invoice reference number instead of registrar's --- app/models/bank_transaction.rb | 2 +- test/models/bank_transaction_test.rb | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 test/models/bank_transaction_test.rb diff --git a/app/models/bank_transaction.rb b/app/models/bank_transaction.rb index 3b22d3a2f..274c15b64 100644 --- a/app/models/bank_transaction.rb +++ b/app/models/bank_transaction.rb @@ -31,7 +31,7 @@ class BankTransaction < ActiveRecord::Base end def registrar - @registrar ||= Registrar.find_by(reference_no: reference_no) + @registrar ||= Invoice.find_by(reference_no: reference_no)&.buyer end diff --git a/test/models/bank_transaction_test.rb b/test/models/bank_transaction_test.rb new file mode 100644 index 000000000..7f3b23c01 --- /dev/null +++ b/test/models/bank_transaction_test.rb @@ -0,0 +1,21 @@ +require 'test_helper' + +class BankTransactionTest < ActiveSupport::TestCase + def test_matches_against_invoice_reference_number + invoices(:valid).update!(number: '2222', total: 10, reference_no: '1111') + transaction = BankTransaction.new(description: 'invoice #2222', sum: 10, reference_no: '1111') + + assert_difference 'AccountActivity.count' do + transaction.autobind_invoice + end + end + + def test_does_not_match_against_registrar_reference_number + registrars(:bestnames).update!(reference_no: '1111') + transaction = BankTransaction.new(description: 'invoice #2222', sum: 10, reference_no: '1111') + + assert_no_difference 'AccountActivity.count' do + transaction.autobind_invoice + end + end +end