From 8a5208057a271fe74212f10998f2424f007e5153 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karl=20Erik=20=C3=95unapuu?= Date: Thu, 10 Sep 2020 16:38:27 +0300 Subject: [PATCH] Fix parsing from ref number --- app/models/bank_transaction.rb | 7 +++---- test/models/invoice_test.rb | 6 +++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/models/bank_transaction.rb b/app/models/bank_transaction.rb index e5ae76505..24bf51e0c 100644 --- a/app/models/bank_transaction.rb +++ b/app/models/bank_transaction.rb @@ -118,12 +118,11 @@ class BankTransaction < ApplicationRecord end def ref_number_from_description - (Billing::ReferenceNo::MULTI_REGEXP.match(description) || []).captures.each do |match| - break match if match.length == 7 || valid_ref_no?(match) - end + matches = description.to_s.scan(Billing::ReferenceNo::MULTI_REGEXP).flatten + matches.detect { |m| break m if m.length == 7 || valid_ref_no?(m) } end def valid_ref_no?(match) - return true if Billing::ReferenceNo.valid?(match) && Registrar.find_by(reference_no: match).any? + return true if Billing::ReferenceNo.valid?(match) && Registrar.find_by(reference_no: match) end end diff --git a/test/models/invoice_test.rb b/test/models/invoice_test.rb index 300de3a58..150e8032c 100644 --- a/test/models/invoice_test.rb +++ b/test/models/invoice_test.rb @@ -136,8 +136,8 @@ class InvoiceTest < ActiveSupport::TestCase transaction.reference_no = registrar.reference_no transaction.sum = 250 - Invoice.create_from_transaction!(transaction) - - assert_emails 1 + assert_emails 1 do + Invoice.create_from_transaction!(transaction) + end end end